1. 程式人生 > >第三篇 條件控制和循環

第三篇 條件控制和循環

年齡 zha 數字 第二篇 計算 put 輸出結果 inpu clas

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

第三篇 條件控制和循環