条件(选择)控制
基于条件选择执行语句,比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操作A,反之则执行操作B
1. 单一if语句
语法结构:
if <条件表达式>:
#若干语句块
说明:
- 条件表达式可以是任何一种逻辑表达式
- 如果表达式值为true,则执行 : 后的代码,再执行后面的语句
- 如果表达的值为false,则直接执行后面的语句
示例代码:
x = 0
if x < 4:
x += 3
print(x) # out: 3
2.if...else
语法结构:
if <条件1>:
执行语句块1
else:
执行语句块2
说明:
- else子句是可选项
- 若有,则布尔表达式的值为true,执行语句1,否则,执行语句2
- 若无,则布尔表达式的值为true,执行语句1,否则,执行if语句的后续语句
- 语句1或语句2可以是单语句,也可以是复合语句等
示例代码:
x = 2
if x < 2:
x += 1
else:
x -= 1
print(x) # out: 1
3. 多重if...elif...else...
语法格式:
if <条件1>:
<语句1>
elif <条件2>:
<语句2>
elif <条件3>:
<语句3>
...
else:
<语句n>
说明:
- 如果"条件1"为 True,将执行"语句1"
- 如果"条件1"为False,将判断"条件2"
- 如果"条件2"为 True,将执行"语句2"
- 如果"条件2"为False,将执行"条件3",依次内推
- ...
- 如果所有条件都不满足则执行else语句块
示例代码:
name = input('请输入用户名:')
if name == "admin":
print("超级管理员")
elif name == "user":
print("普通用户")
elif name == "guest":
print("客人")
else:
print("黑名单")
4. if 嵌套
语法格式:
if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句
elif 表达式4:
语句
else:
语句
示例代码:
num = int(input("输入一个数字:"))
if num % 2 == 0:
if num % 3 == 0:
print('输入的数字既能整除2也能整除3')
else:
print('输入的数字只能整除2,不能整除3')
else:
if num % 3 == 0:
print('输入的数字只能整除3,不能整除2')
else:
print('输入的数字既不能整除3,也不能整除2')
5. 三元操作符
语法格式:
var = a if exp else b = exp1(True) if contion else exp2(False)
var = (exp and [b] or [c])[0]
var = exp and b or c
示例代码:
num1 = int(input('请输入第一个数字:'))
num2 = int(input('请输入第二个数字:'))
num3 = int(input('请输入第三个数字:'))
max_num = 0
max_num = num1 if num1 > num2 else num2
max_num = num3 if num3 > max_num else max_num
print(max_num)
a, b = 1, 2
max = (a > b and [a] or [b])[0] # out: 2
max = (a > b and a or b) # out: 2