條件(選擇)控制
基于條件選擇執(zhí)行語句槐脏,比方說喘垂,如果條件成立废离,則執(zhí)行操作A侄泽,或者如果條件成立,則執(zhí)行操作A蜻韭,反之則執(zhí)行操作B
1. 單一if語句
語法結(jié)構(gòu):
if <條件表達式>:
#若干語句塊
說明:
- 條件表達式可以是任何一種邏輯表達式
- 如果表達式值為true悼尾,則執(zhí)行 : 后的代碼,再執(zhí)行后面的語句
- 如果表達的值為false肖方,則直接執(zhí)行后面的語句
示例代碼:
x = 0
if x < 4:
x += 3
print(x) # out: 3
2.if...else
語法結(jié)構(gòu):
if <條件1>:
執(zhí)行語句塊1
else:
執(zhí)行語句塊2
說明:
- else子句是可選項
- 若有,則布爾表達式的值為true闺魏,執(zhí)行語句1,否則俯画,執(zhí)行語句2
- 若無,則布爾表達式的值為true析桥,執(zhí)行語句1,否則艰垂,執(zhí)行if語句的后續(xù)語句
- 語句1或語句2可以是單語句泡仗,也可以是復(fù)合語句等
示例代碼:
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,將執(zhí)行"語句1"
- 如果"條件1"為False材泄,將判斷"條件2"
- 如果"條件2"為 True沮焕,將執(zhí)行"語句2"
- 如果"條件2"為False,將執(zhí)行"條件3"拉宗,依次內(nèi)推
- ...
- 如果所有條件都不滿足則執(zhí)行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("輸入一個數(shù)字:"))
if num % 2 == 0:
if num % 3 == 0:
print('輸入的數(shù)字既能整除2也能整除3')
else:
print('輸入的數(shù)字只能整除2峦树,不能整除3')
else:
if num % 3 == 0:
print('輸入的數(shù)字只能整除3辣辫,不能整除2')
else:
print('輸入的數(shù)字既不能整除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('請輸入第一個數(shù)字:'))
num2 = int(input('請輸入第二個數(shù)字:'))
num3 = int(input('請輸入第三個數(shù)字:'))
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