文章目录
选择结构通过判断条件是否成立,来决定执行哪个分支。 选择结构有多种形式,分为:单分支、双分支、多分支。流程图如下:
1.单分支选择结构
if 语句单分支结构的语法形式如下:
if 条件表达式: 语句/语句块 1 .条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等。 2 .语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致。 【操作】输入一个数字,小于 10,则打印这个数字(if_test01.py) num = input("输入一个数字:") if int(num)<10: print(num)
2 条件表达式详解
在选择和循环结构中,条件表达式的值为 False 的情况如下: False、0、0.0、空值 None、空序列对象(空列表、空元祖、空集合、空字典、空字符串)、空 range 对象、空迭代对象。 其他情况,均为 True。这么看来,Python 所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。 【操作】测试各种条件表达式 if 3: #整数作为条件表达式 print("ok") a = [] #列表作为条件表达式,由于为空列表,是 False if a: print("空列表,False") s = "False" #非空字符串,是 True if s: print("非空字符串,是 True") c = 9 if 3<c<20: print("3<c<20") if 3<c and c<20: print("3<c and c<20") if True: #布尔值 print("True")
执行结果如下:
条件表达式中,不能有赋值操作符“=” 在 Python 中,条件表达式不能出现赋值操作符“=”,避免了其他语言中经常误将关系运 算符“==”写作赋值运算符“=”带来的困扰。如下代码将会报语法错误: if 3<c and (c=20): print("赋值符不能出现在条件表达式中") SyntaxError: invalid syntax
3 双分支选择结构
双分支结构的语法格式如下: if 条件表达式 : 语句 1/语句块 1 else: 语句 2/语句块 2
【操作】输入一个数字,小于 10,则打印该数字;大于 10,则打印“数字太大”
num = input("输入一个数字:") if int(num)<10: print(num) else: print("数字太大")
4 三元条件运算符
Python 提供了三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如下: 条件为真时的值 if (条件表达式) else 条件为假时的值 上一个案例代码,可以用三元条件运算符实现: num = input("请输入一个数字") print( num if int(num)<10 else "数字太大") 可以看到,这种写法更加简洁,易读。
5.多分支选择结构
多分支选择结构的语法格式如下:
if 条件表达式 1 : 语句 1/语句块 1 elif 条件表达式 2: 语句 2/语句块 2 . . . elif 条件表达式 n : 语句 n/语句块 n [else: 语句 n+1/语句块 n+1 ]
6.选择结构嵌套
选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量, 因为缩进量决定了代码的从属关系。语法格式如下: if 表达式 1: 语句块 1 if 表达式 2: 语句块 2 else: 语句块 3 else: if 表达式 4: 语句块 4