导读:条件语句是指根据条件表达式的不同计算结果,使程序流转至不同的代码块 。Python中的条件语句有——if语句、if… else…语句 。作者:黄传禄 张克强 赵越
来源:华章科技
文章插图
01 if条件语句if语句用于检测某个条件是否成立 。如果成立,则执行if语句内的程序;否则,跳过if语句,执行后面的内容 。if语句的格式如下 。
if(表达式): 语句1 else: 语句2
if语句的执行过程如下:如果表达式的布尔值为真,则执行语句1;否则,执行语句2 。其中的else子句可以省略,表达式两侧的括号也可以省略 。在讲解if语句之前,先介绍一下Python中的控制台输入函数 。在C语言中,使用scanf()和getchar()捕获用户输入,而JAVA语言的System.in包提供了控制台输入的方法 。Python也提供了类似功能的函数——input(),用于捕获用户的原始输入并将其转为字符串 。input()函数的声明如下 。
input([prompt]) -> string
参数prompt是控制台中对于输入的提示文字,提示用户输入,返回值为字符串 。如果输入的是数字,返回的还是字符串,那么使用前需要调用int()做一下字符串和数字类型的转换 。下面这段代码说明了字符串和数字类型的转换 。x = input("x:")x = int(x)x = x + 1
如果不调用int()把字符串转换为数字,而直接计算表达式x = x + 1,将提示如下错误 。TypeError: Can't convert 'int' object to str implicitly
下面这段代码演示了if语句的执行流程 。1# 执行if语句内的程序2a = input("a:")3a = int(a)4b = input("b:")5b = int(b)6if(a > b):7 print (a, " > ", b)
【代码说明】- 第2行代码定义了变量a 。
- 第3行将用户输入的a转换为int类型 。
- 第4行代码定义了变量b 。
- 第5行将用户输入的b转换为int类型 。
- 第6行代码判断变量a、b的大小 。
- 对于第7行代码,假设a=2、b=1,输出结果:2>1 。
1# 跳过if语句2a = input("a:")3a = int(a)4b = input("b:")5b = int(b)6if(a > b):7 print (a, " > ", b)8print (a, " < ", b)
【代码说明】- 假设a=1、b=2,第6行代码中变量a的值小于变量b的值,因此,程序跳转执行第8行代码 。
- 第8行代码输出结果:1<2 。
【例3-1.py】
1# if… else…语句2a = input("a:")3a = int(a)4b = input("b:")5b = int(b)6if(a > b):7 print (a, " > ", b)8else:9 print (a, " < ", b)
【代码说明】- 假设a=1、b=2,第6行代码中变量a的值小于变量b的值 。因此,程序跳转到else子句 。
- 第9行代码输出结果:1<2 。
02 if…elif…else判断语句if…elif…else语句是对if…else…语句的补充 。当程序的条件分支很多时,可以使用这种语句 。if…elif…else语句相当于C、Java中的if…elseif…else语句 。该语句的格式如下 。
if(表达式1): 语句1elif(表达式2): 语句2…elif(表达式n): 语句nelse: 语句m
if…elif…else语句的执行过程:首先判断表达式1的值是否为真 。如果为真,则执行语句1 。否则,程序流转到elif子句,判断表达式2的值是否为真 。如果表达式2的值为真,则执行语句2 。否则,程序进入下面一个elif子句,以此类推 。如果所有的表达式都不成立,则程序执行else子句的代码 。其中的else子句可以省略,表达式两侧的括号也可以省略 。
推荐阅读
- Python中的时间序列数据可视化的完整指南
- Python|学python要学多久,学到什么程度才能找工作?
- Python列表边遍历边删除,怎么用才不报越界错误呢?
- Java内置条件队列应用,实现经典的生产者消费者算法
- 用Python实现蒙特卡罗模拟的详细教程
- 公务科员提副科条件是什么?
- python之最详细字符串篇
- 大神总结223个Python小例子,建议收藏
- 请停止在Python中无休止使用列表
- python中的这个库居然是一个管理文件的神器