第三篇 條件控制和循環
1.條件控制
if語句的形式一般為:
1 if 條件1: 2 語句1 3 elif 條件2: 4 語句2 5 else: 6 語句3
實例:
1 userInput=input("請輸入您的年齡:") 2 userAge=int(userInput) 3 if userAge>=18: 4 print("you are a adult") 5 elif userAge>=8: 6 print("you are a teenager") 7 else: 8 print("you are a kid") 9 10 --------輸出結果------- 11請輸入您的年齡:26 12 you are a adult
註意:(1)每個條件後面要使用冒號,以表示接下來是滿足條件後要執行的語句塊。
(2)使用縮進來劃分語句塊,相同的縮進為要一個語句塊。
在第二篇中學習到的操作符,在if語句中經常使用,如下:
操作符 | 描述 |
> | 大於 |
>= | 大於等於 |
< | 小於 |
<= | 小於等於 |
and | 邏輯與 |
or | 邏輯或 |
== | 相等 |
!= | 不相等 |
if語句可以進行嵌套,如下:
1 userInput=input("請輸入你的年齡:") 2 userAge=int(userInput)3 4 if userAge<=25: 5 if userAge>=14: 6 print("你是一個青年") 7 elif userAge>=8: 8 print("你是一個少年") 9 else: 10 print("你是一個兒童") 11 else: 12 if userAge>=86: 13 print("你已經暮年") 14 elif userAge>=76: 15 print("你是壽年") 16 elif userAge>=66:17 print("你是老年") 18 elif userAge>=56: 19 print("你是中年") 20 elif userAge>=46: 21 print("你是達年") 22 elif userAge>=36: 23 print("你是盛年") 24 else: 25 print("你是壯年")
2.while循環
while語句的一般形式為:
1 while 條件: 2 循環體
實例,計算1+2+3+...99的和。
1 i=1 2 count=0 3 while i<=99: 4 count+=i 5 i+=1 6 7 print("1+2+3+...+99的和為:",count) 8 9 ------輸出結果----- 10 1+2+3+...+99的和為: 4950
可以使用while無限循環來控制用戶無限次數輸入年齡:
1 while True: 2 userInput = input("請輸入你的年齡:") 3 userAge = int(userInput) 4 5 if userAge <= 25: 6 if userAge >= 14: 7 print("你是一個青年") 8 elif userAge >= 8: 9 print("你是一個少年") 10 else: 11 print("你是一個兒童") 12 else: 13 if userAge >= 86: 14 print("你已經暮年") 15 elif userAge >= 76: 16 print("你是壽年") 17 elif userAge >= 66: 18 print("你是老年") 19 elif userAge >= 56: 20 print("你是中年") 21 elif userAge >= 46: 22 print("你是達年") 23 elif userAge >= 36: 24 print("你是盛年") 25 else: 26 print("你是壯年") 27 28 ------輸出結果------- 29 請輸入你的年齡:16 30 你是一個青年 31 請輸入你的年齡:29 32 你是壯年 33 請輸入你的年齡:25 34 你是一個青年 35 請輸入你的年齡:24 36 你是一個青年 37 請輸入你的年齡:27 38 你是壯年 39 請輸入你的年齡:
註:可以使用Ctrl+C來結束循環。
while...else語句
當while條件中為False時執行else代碼塊:
i=1 while i<10: print("i的值為:",i) i+=1 else: print("i的值為10,程序跳出while循環,執行else語句塊內容") ------輸出結果------ i的值為: 1 i的值為: 2 i的值為: 3 i的值為: 4 i的值為: 5 i的值為: 6 i的值為: 7 i的值為: 8 i的值為: 9 i的值為10,程序跳出while循環,執行else語句塊內容
如果while循環體的語句只有一條語句,則該語句可以和while在同一行。
1 i=1 2 while i:print("無限循環")
3.for循環
for循環可以用來遍歷任何序列,如列表和字符串等。
for循環的一般形式為:
1 for 變量名 in sequence: 2 循環體
實例:
1 names=["zhangsan","lisi","wangwu","boxiaoyuan"] 2 for name in names: 3 print(name) 4 5 ------輸出內容----- 6 zhangsan 7 lisi 8 wangwu 9 boxiaoyuan
4.range()函數
range()可以用來數字列表,根據傳入的值生成可叠代對象,顧頭不顧尾,例如range(0,10,1),其中0為開始值(包括),10為結束值(不包括),1為步長,因此會生成[0,1,2,3,4,5,6,7,8,9]。
1 for i in range(0,10,1): 2 print(i) 3 4 ------輸出結果------ 5 0 6 1 7 2 8 3 9 4 10 5 11 6 12 7 13 8 14 9
另外,也可以使用len方法結合range,遍歷列表:
1 names=["zhangsan","lisi","wangwu","boxiaoyuan"] 2 for i in range(len(names)): 3 print(names[i]) 4 5 -------輸出結果----- 6 zhangsan 7 lisi 8 wangwu 9 boxiaoyuan
5.break和continue
break關鍵字用來結束for循環或者while循環,for...else或者while...else後的else均不執行,continue關鍵字用來結束for或者while的本次循環,然後接著執行下次循環。
break
1 i=0 2 while i<5: 3 i+=1 4 if(i==3): 5 break 6 print(i) 7 8 -----輸出結果------ 9 1 10 2
註:當i等於3時,結束循環,i=4和i=5不再執行。
continue
1 i=0 2 while i<5: 3 i+=1 4 if(i==3): 5 continue 6 print(i) 7 8 ------輸出結果----- 9 1 10 2 11 4 12 5
註:當i等於3時,結束本次循環,不執行print語句輸出3,接著進行下次循環,輸出4和5。
while...else,當while中遇到break也不會執行else中語句塊:
1 i=0 2 while i<5: 3 i+=1 4 if i==3: 5 break 6 print(i) 7 else: 8 print("執行了else中的內容") 9 10 ------輸出結果----- 11 1 12 2
當i=3時循環結束,沒有執行else中的語句。
6.pass語句
pass是為了保證程序的完整性,一般用作占位符。
1 names=["zhangsan","lisi","wangwu","boxiaoyuan"] 2 for name in names: 3 if name=="wangwu": 4 pass 5 print("執行了pass") 6 print("name的值:",name) 7 8 ------輸出結果----- 9 name的值: zhangsan 10 name的值: lisi 11 執行了pass 12 name的值: wangwu 13 name的值: boxiaoyuan
第三篇 條件控制和循環