43.控制语句
选择结构
选择结构通过判断条件是否成立,来决定执行哪个分支。选择结构有多种形式,分为:单分 支、双分支、多分支。
流程图如下:
单分支选择结构
if
语句单分支结构的语法形式如下:
if 条件表达式:
语句/语句块
其中:
- 条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等。
- 语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致。
【操作】输入一个数字,小于10,则打印这个数字
num = input("输入一个数字:")
if int(num)<10:
print(num)
条件表达式详解
判断False和True
False
在选择和循环结构中,条件表达式的值为 False的情况如下
:
False、0、0.0、空值 None、空序列对象(空列表、空元祖、空集合、空字典、空字 符串)、空range 对象、空迭代对象。
True
其他情况,均为True。
这么看来,Python所有的合法表达式都可以看做条件表达式,甚至 包括函数调用的表达式。
【操作】测试各种条件表达式
if 3: #整数作为条件表达式 True
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")
执行结果如下:
ok
非空字符串,是True
3<c<20
3<c and c<20
True
>>>
- 条件表达式中,不能有赋值操作符“=”
在Python中,条件表达式不能
出现赋值操作符“=
”,避免了其他语言中经常误将关系运 算符“==
”写作赋值运算符“=”带来的困扰。
如下代码将会报语法错误:if 3<c and (c=20)
: print("赋值符不能出现在条件表达式中")
ps: python 3.8 海象操作符 :=
可以 赋值
。
一些示例代码
1
# 第一个控制语句
a=input('请输入一个小于10的数字')
if (int(a) <10):
print (a)
2
# 单分支控制语句if
b = []
if not b:
print('空的列表是False')
c = 'false'
if c:
print('c')
d = 10
if d:
print('d')
e = 10
if 2 < e < 11: # 链式判断
print(e)