1、if 語句
有兩條語句:
print("這個數是偶數")
print("這個數是奇數")
如何只讓其中的一條執行???
答案就是使用if語句
if語句的作用:
讓程序根據條件選擇性的執行某條語句或某些語句
語法:
if 真值表達式1:
語句塊1...
elif 真值表達式2:
語句塊2...
elif 真值表達式3:
語句塊3....
...
else:
語句塊4
說明:
elif 子句可以有0個,1個或多個
else 子句可以有0個或1個,且只能放在if語句的最後
if 語句嵌套
if語句本身是由多條子句組成的一條複合語句
if語句可以作爲語句嵌套到另一個複合語句的內部
示例
# 用嵌套實現輸入月份判斷季節
month = int(input("請輸入月份(1~12): "))
if 1 <= month <= 12:
print("輸入正確")
if month <= 3:
print("春季")
elif month <= 6:
print("夏季")
elif month <= 9:
print("秋季")
else:
print("冬季")
else:
print("您的輸入有誤")
條件表達式
語法:
表達式1 if 真值表達式 else 表達式2
作用:
根據真值表達式的取值(True/False) 來決定執行表達式1或者表達式2並返回結果
# 商場促銷,滿100 減 20
money = int(input("請輸入商品總額: "))
# 計算需要支付金額
pay = money - 20 if money >= 100 else money
2、pass 語句
作用:
通常用來填充語法空白,pass 又名空語句
語法:
pass
3、循環語句:
while 語句
for 語句
問題:
輸入一個整數n,寫程序打印如下n行文字:
這是第1行
這是第2行
這是第3行
…
這是第n行
1)while語句:
作用:
根據一定條件,重複執行一條語句或多條語句
語法:
while 真值表達式:
語句塊1(此部分語句可能會重複執行多次)
else:
語句塊2
說明:
1. 先執行真值表達式,得到布爾值爲True或False
2. 如果真值表達式的值爲True,則執行語句塊1,然後再次返回到第1步,重複進行測試真值表達式的值
3. 如果真值表達式的值爲False,則執行else子句部分的語句塊2,然後結束此while語句的執行
注: else子句部分可以省略(同if語句類似)
示例:
n = int(input("請輸入一個整數: "))
i = 1 # 創建一個循環變量來控制循環次數
while i <= n:
print("這是第%d行" % i)
i += 1
while語句的注意事項:
1. 要控制循環的真值表達式的值來防止死循環
2. 通常用真值表達式內的循環變量來控制循環條件
3. 通常在語句內部改變循環變量
while 語句嵌套:
while 語句本身就是語句,和其它語句一樣,可以嵌套到任何的複合語句中
示意:
while 真值表達式:
....
while 真值表達式2:
....
else:
...
...
else:
...
2)for語句
作用:
用來遍歷可迭代對象的數據元素,可迭代對象是指能依次獲取數據元素的對象
如:
字符串,列表,元組,range函數返回的對象等
語法:
for 變量列表 in 可迭代對象:
語句塊1(此處是可能重複執行的語句塊)
else:
語句塊2
說明:
當在循環體內用break終止循環時,else子句部分的語句不會執行
else子句部分可以省略
示例
s = "ABCDE"
for ch in s:
print("ch---->", ch)
else:
print("for語句的else子句被執行")
print("程序結束")
for語句嵌套:
示例:
for x in "ABC":
for y in "123":
print(x + y)
3)range() 函數:
range(stop) 用來生成0~stop區間內的整數,直到stop爲止(不包含stop)
range(start, stop[,step]) 用來生成start~stop區間內的整數,直到stop爲止(不包含stop),每個整數間隔step
range語句通常跟for語句一起使用
作用:
用來創建一個生成一系列整數的可迭代對象(也叫整數序列生成器)
示意:
range(4) 生成 0, 1, 2, 3
range(3, 6) 生成 3, 4, 5
range(1, 10, 2) 生成 1, 3, 5, 7, 9
range(5, 0, -1) 生成 5, 4, 3, 2, 1
range(5, 0, -2) 生成 5, 3, 1
range(4, 0) 生成 空
for x in range(4):
print(x) # 0,1,2,3
for x in range(3, 6):
print(x) # 3,4,5
for x in range(10, 0, -2):
print(x) #10,8,6,4,2
4)break 語句
問題:
如果在循環過程中不想再繼續循環語句的執行了,怎麼辦?
作用:
用於循環語句(while,for語句)中,用來終止當前循環語句的執行.
說明:
當break語句執行後,此循環語句break之後的語句將不再執行
break 語句通常和if語句組合使用
break 語句終止循環時,循環語句的else子句的語句不會執行
break 語句只能終止當前循環語句的執行,如果有循環嵌套時,不會跳出嵌套的外重循環
break語句只能在循環語句(while,for語句)的內部使用
死循環
死循環是指循環條件一直成立的循環
死循環能通常用break語句來終止循環
死循環的else子句永遠不會執行
5、continue 語句
問題:
如何讓程序不再向下執行,重新開始一次新的循環?
作用:
用於循環語句(while,for)中,不再執行本次循環內continue之後的語句,重新開始一次新的循環
說明:
1. 在while語句中執行continue語句,將會直接跳轉到while語句的真值表達式處,重新判斷循環條件
2. 在for語句中執行continue語句,將會從可迭代對象中取下一個數據綁定變量後再次進行循環