9. python的if语句

news2024/11/27 15:38:36

文章目录

  • 一、if结构
      • 1.1 比较符号
        • 1.1.1 使用`==`比较两个数据是否相等:
        • 1.1.2 使用`!=`号比较数据是否不相等
        • 1.1.3 使用`<`号比较数字大小关系
        • 1.1.4 使用`<=`号比较数字大小关系
        • 1.1.5 使用`>`号比较数字大小关系
        • 1.1.6 使用`>=`号比较数字大小关系
      • 1.2 关键字
        • 1.2.1 `and`关键字
        • 1.2.2 `or`关键字
  • 二、if-else结构
  • 三、if-elif-else结构
  • 四、else语句特别说明
  • 五、代码运行方式


有时,我们需要判断某个变量是否符合给定条件,if语句能判断对象是否符合条件,并根据判断结果进行相应操作。

一、if结构

if 1==1:
	print(1==1)
  1. if语句后,用于判断的语句,称为:条件测试
  2. 条件测试的结果有且仅有:TrueFalse
  3. if语句以冒号结尾
  4. 满足if语句后执行的代码块,需要缩进

1.1 比较符号

1.1.1 使用==比较两个数据是否相等:

#对字符串进行比较
if 'abc' == 'aBC':
	print(1)
if 'abc' == 'abc':
	print(2)
  1. 要给字符串加上引号,否则,python将认为abc和aBC是变量
  2. ==用于对比的时候,是识别大小写的。

1.1.2 使用!=号比较数据是否不相等

if 'abc' != 'aBC':
	print(1)
	
print('test !')

1.1.3 使用<号比较数字大小关系

if 12 < 13:
	print(12)
		
print('test !')

1.1.4 使用<=号比较数字大小关系

if 13 <= 13:
	print(13)
		
print('test !')

1.1.5 使用>号比较数字大小关系

if 14  > 13:
	print(14)
		
print('test !')

1.1.6 使用>=号比较数字大小关系

if 14 >= 14:
	print(14)
		
print('test !')

1.2 关键字

当我们需要在一个 if语句中,对比两个或更多的条件,就需要使用关键字来连接多个条件。

1.2.1 and关键字

and关键字要求其两端的条件测试的结果都为True,才能通过if语句的判断。

if 12 > 13 and 14 < 15:
	print(1)

print(2)

1.2.2 or关键字

or关键字,只要两端的条件测试中有一个结果True,则满足条件。

if(2 == 3 or '123' == print('456')):
	print('test !')

运行结果:
在这里插入图片描述
修改if语句,如下:

#关键字or
if(2 == 2 or '123' == print('456')):
	print('test !')

运行结果:
在这里插入图片描述
根据两次运行结果,可知:当关键字or前一个条件测试结果为True,将不再测试后面的条件。
建议:若已知两个条件在代码运行中的大致出现频率,则将出现频率高的条件写到or关键字前面。

二、if-else结构

if 12 == 13:
	print('yes')
#所有不满足if语句条件,都将执行else指定操作
else:
	print('no')
  1. else语句,需要使用冒号结尾
  2. else语句对应代码块,需要缩进

三、if-elif-else结构

if 12 == 13:
	print(1)
elif 12 < 13:
	print(2)
else:
	print(3)
  1. elif语句,要用冒号结尾
  2. elif语句,在if语句后加入其他的条件测试
  3. elif语句对应的代码块,需要缩进
  4. 只能有1个if语句、1个else语句,但两者之间可以写多个elif语句

四、else语句特别说明

  1. 只要不满足ifelif的条件,就能执行else的代码。
  2. 一旦有无效甚至恶意的数据,在不满足给定条件后,都会执行else对应的代码,使程序产生难以预料的问题。
  3. else包含了所有不满足条件的情况,导致代码用意表达不清晰
age = 12

if age < 4:
	price = 0
elif age < 18:
	price = 5
elif age < 65:
	price = 10
#所有不满足条件情况都将进入else代码块
else:
	price = 5

print('your admission cost: $' + str(price))

放弃使用else,修改为使用elif:

age = 12

if age < 4:
	price = 0
elif age < 18:
	price = 5
elif age < 65:
	price = 10
#使用elif,清晰表达出这是对65岁及以上人群的处理情况
elif age >= 65:
	price = 5

print('your admission cost: $' + str(price))

并非不能用else。而是需要考虑:用else会不会埋下隐患,会不会表意不清。

五、代码运行方式

if-elseif-elif-else的代码结构在运行时,满足了某个条件,并执行完该条件对应代码块后,就会跳出整个结构,执行后续代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/573211.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机系统漫游

重点理解部分&#xff1a; 系统硬件&#xff1a;对硬件如处理器、存储器、I/O设备有一个基本的认识&#xff0c;理解它们的基本工作原理以及它们是如何协同工作的。Hello&#xff0c;World程序运行的过程&#xff1a;了解一个C程序如何从源代码到最终在计算机上运行的全过程。…

智慧农业大数据平台的“智慧”体现在哪些方面?

看到农业两个字&#xff0c;我们先想起来的是什么&#xff1f;是耕种呢&#xff0c;还是灌溉&#xff1f; 其实&#xff0c;种植业只是狭义上的农业&#xff0c;从广义上讲&#xff0c;农业指包括种植业、林业、畜牧业、渔业、副业五种产业形式。所以&#xff0c;山东仁科智慧…

电脑如何查找重复文件?轻松揪出它!

电脑如何查找重复文件&#xff1f;小编每天要接触各种文档、图片等资料&#xff0c;很多时候下载了一些图片后&#xff0c;我根本记不住&#xff0c;下次看到不错的图片&#xff0c;我又会下载下来&#xff0c;结果就是和之前下载的图片是一样的内容。下载的重复文件多了&#…

如何处理SAP错误:不可能为条目1000 UMB 1000 MR1 2004确立帐户 (附:ChatGPT 如何处理这个问题的?)

SAP财务用户在MR22 进行修改物料价格时&#xff0c;出现了一个报错。报错如下&#xff1a;“不可能为条目1000 UMB 1000 MR1 2004确立帐户”。 Account determination for entry 1000 UMB 1000 MR2 2004 not possible Message No. M8147 Diagnosis The system did not find …

Web安全:代码执行漏洞 测试(防止 黑客利用此漏洞.)

Web安全&#xff1a;代码执行漏洞 测试 攻击者可以通过构造恶意输入来欺骗应用程序执行恶意代码。这种漏洞通常出现在应用程序中使用动态语言(如 PHP、Python、Ruby 等)编写的代码中&#xff0c;因为这些语言允许在运行时动态执行代码。攻击者可以通过构造特定的输入来欺骗应用…

利用canvas画一个时钟

利用canvas画一个时钟 详细步骤 画中心圆点和刻度线 画时针 画分针 画秒针 下面是整体代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body&g…

【亲测有效】idea部署jrebel插件

idea部署jrebel插件 1.背景 最近在维护tomcat项目&#xff0c;工程修改代码后需要rebuild才能更新class文件&#xff0c;进而运行生效。 同事介绍jrebel可以实现热部署&#xff0c;于是接入使用。 2.简介 JRebel是一套JavaEE开发工具。 Jrebel 可快速实现热部署&#xff0c…

尚硅谷Docker实战教程-笔记02【安装docker、镜像加速器配置】

尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】视频地址&#xff1a;尚硅谷Docker实战教程&#xff08;docker教程天花板&#xff09;_哔哩哔哩_bilibili 尚硅谷Docker实战教程-笔记01【理念简介、官网介绍、平台入门图解、平台架构图解】尚硅谷Docker实战教程-笔…

c++学习——构造函数和析构函数

当对象产生时&#xff0c;必须初始化成员变量&#xff0c;当对象销毁前&#xff0c;必须清理对象. 初始化用构造函数&#xff0c;清理用析构函数&#xff0c;这两个函数是编译器调用.初始化的作用和析构函数的作用 构造函数点和析构函数的注意 构造函数和析构函数的权限必须是公…

Redis基本介绍 五大数据类型

Redis基本介绍 redis-benchmark性能测试工具 测试如&#xff1a; redis-benchmark -h localhost -p 6379 -c 100 -n 10000000 redis默认有16个数据库 切换数据库和查看数据库大小 &#xff1a; 设置值和取值&#xff1a; >set name chunling >get name >keys…

python+django网上美食菜品订餐系统的设计与实现vue

随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;好吃网线上订餐系统当然也不能排除在外&#xff0c;从美食类型、美食信息的统计和分析&#xff0c;在过程中会产生大量的、各种…

与创新者同行,共享数字时代创新红利-通付盾城市沙龙圆满举行!

5月25日&#xff0c;通付盾城市沙龙在深圳圆满举行。通付盾与多家企业分享了数字安全创新实践-“WAAP解决方案、GPT助力APP合规开发解决方案、UIAM解决方案”&#xff0c;与合作伙伴共话生态&#xff0c;共同起航&#xff0c;共创未来&#xff01; 会上&#xff0c;通付盾面向各…

基于java的篮球论坛系统的设计与实现

背景 过网上调查和搜集数据,我们可以发现篮球论坛管理方面的系统在中并不是相当普及,在篮球论坛管理方面的可以有许多改进。实际上如今信息化成为一个未来的趋势或者可以说在当前现代化的城市典范中,信息化已经成为主流,开发一个篮球论坛系统一方面的可能会更合乎时宜,另一方面…

springboot+vue财务管理系统(java项目源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的财务管理系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1a;风歌&a…

opencv_c++学习(二十四)

一、积分图像 积分图像是对原图像进行积分操作的算法。如上图左所示&#xff0c;不同颜色代表不同区域。当我们想求取一个像素点的积分值时&#xff0c;我们需要求取该点左上方区域的数据之和&#xff0c;如P0的积分值是浅蓝色区域的数据之和。 P1的积分值为蓝色和橙色区域的数…

SSM框架学习-SSM整合(整合配置、功能模块开发、接口测试)

1. 整合配置 首先创建maven模块&#xff0c;导入相应的坐标 <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.10.RELEASE</version></dependency&g…

计算机是如何工作的??(多进程编程)

目录 多进程编程进程调度组织进程调度 本篇博客的重点知识是进程进程的调度 操作系统&#xff1a;像是windows&#xff0c;android&#xff0c;iOS等都是常见的操作系统 下面是关于计算机在底层工作的原理流程图 在操作系统层面&#xff1a; 对上&#xff0c;要给软件提供稳…

《低代码指南》——低代码维格云能源行业解决方案

目录 典型场景介绍: 一、能源资产管理 二、碳核查 三、配电运营 总 结: 从业界实际情况来看,流程建设本身是一个对业务现实进行抽象的过程,这个过程即使不考虑软件开发的门槛,对于很多客户而言也是个涉及较长周期的复杂工作,往往需要咨询专家或专业公司帮助其建设内…

【Python】函数式编程例子

知识目录 一、写在前面&#x1f37a;二、七段数码管显示倒计时✨三、斐波那契序列&#x1f37a;四、总结撒花&#x1f60a; 一、写在前面&#x1f37a; 大家好&#xff01;我是初心&#xff0c;今天我们回到了Python从入门到精通。 今天跟大家分享的文章是 Python中函数的使用…

sentinel原理分析及源码剖析

sentinel功能 sentinel功能可参考官网 可以从sentinel的dashboard中了解到sentinel的核心功能包括 流控规则 阈值类型&#xff1a;QPS、并发线程数流控模式&#xff1a;直接&#xff0c;关联&#xff0c;链路流控效果&#xff1a;快速失败&#xff08;滑动时间窗算法Default…