內容簡述:
- 1、條件判斷
- 2、迴圈
1、條件判斷
所謂的條件判斷就是根據一條或者多條語句的執行結果(True/False)來決定執行哪一塊的程式碼。
① 條件判斷的三個關鍵字
Python 使用if
,else
,elif
三個關鍵字的搭配來實現判斷語句,使用程式碼示例如下:
# 單分支(只有一個if),如果程式碼塊只有一條語句,可以和if語句寫到一行
name = 'CoderPig'
if name == 'CoderPig': print("你是CoderPig")
# 雙分支(if-else)
sex = "男"
if sex == '男':
print("你是一個男性")
else:
print("你是一個女性")
# 多分支(if-elif-else)
score = 78
if score == 100:
print("滿分!")
elif 90 <= score < 100:
print("優秀!")
elif 80 <= score < 90:
print("良好!")
elif 70 <= score < 80:
print("中等!")
elif 60 < score < 70:
print("差!")
else:
print("不及格!")
複製程式碼
執行結果如下:
你是CoderPig
你是一個男性
中等!
複製程式碼
② 條件表示式
一個 簡化版的if-else
,一般在賦值時會用得比較多,比如把兩個值中較大的那個賦值給一個變數。程式碼示例如下:
a,b = 1, 2
c = a if a > b else b
print('c = %d' % c)
複製程式碼
執行結果如下:
c = 2
複製程式碼
2、迴圈
① for迴圈
當我們需要重複執行某行或某個程式碼塊的時候可以使用迴圈。舉個例子:在沒有學習迴圈結構前,要你計算1加到100,你可能會寫出這樣的程式碼:result = 1 + 2 + 3 + 4 +… + 100 如果要你加到1000,或者10000呢?會非常繁瑣吧,如果有了迴圈,你只需下面這樣一段程式碼:
result = 0
for i in range(1,101):
result += i
print(result)
複製程式碼
執行結果如下:
====== 輸出1-100的求和結果 ======
5050
複製程式碼
如果想加到1000,只需把101改成1001,加到10000,改成10001即可。非常簡單,上面就是Python提供的兩種迴圈中的「for迴圈」,還有另外一種「while迴圈」。
② while迴圈
把for迴圈的程式碼改成while迴圈,程式碼如下:
result = 0
pos = 1
while pos <= 100:
result += pos
pos += 1
else:
print("====== 輸出1-100的求和結果 ====== \n%d" % result)
複製程式碼
執行結果如下:
====== 輸出1-100的求和結果 ======
5050
複製程式碼
如果while後的判斷條件返回值為True,執行迴圈體裡的程式碼,否則退出迴圈。可以搭配else一起使用,當迴圈執行完後執行某段代。,可選,但不是必須的。for迴圈也可以使用else。
③ break,continue
Python為我們提供了兩個迴圈控制的關鍵字「break」和「continue」。
break:終止整個迴圈
,使用程式碼示例如下:
print("輸出1-100之間所有的奇數:")
for i in range(1, 101):
if i % 2 == 0:
if i % 20 == 0: print()
continue
else:
print(i, end='\t')
複製程式碼
執行結果如下:
輸出1-100之間所有的奇數:
1 3 5 7 9 11 13 15 17 19
21 23 25 27 29 31 33 35 37 39
41 43 45 47 49 51 53 55 57 59
61 63 65 67 69 71 73 75 77 79
81 83 85 87 89 91 93 95 97 99
複製程式碼
continue:跳過本次迴圈,執行下一次迴圈
,使用程式碼示例如下:
score_list = []
pos = 1
while pos < 21:
score_list.append(random.randint(0, 100))
pos += 1
print("隨機生成的成績列表:\n%s" % score_list)
for score in score_list:
if score < 60:
print("第一個不及格的成績是:%s" % score)
break
複製程式碼
執行結果如下:
隨機生成的成績列表:
[83, 55, 70, 20, 98, 26, 7, 55, 89, 27, 19, 31, 43, 89, 57, 16, 86, 77, 68, 50]
第一個不及格的成績是:55
複製程式碼
④ 迴圈巢狀
所謂的迴圈巢狀就是一個迴圈裡面有另一個迴圈,舉個最經典的例子,列印9*9乘法表,程式碼示例如下:
print("輸出九九乘法表:")
i = 1
while i <= 9:
j = 1
while j <= i:
print('%d * %d = %d' % (i, j, i * j), end='\t')
j += 1
print()
i += 1
複製程式碼
執行結果如下:
輸出九九乘法表:
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
複製程式碼
⑤ 死迴圈
所謂的死迴圈就是因為程式的邏輯問題,導致迴圈程式碼塊一直執行,迴圈的條件永遠不會為False,
導致無法跳出迴圈,所以編寫程式碼的時候需要保證程式的的正確性。當然,死迴圈也不是一無是處的,
在執行一些輪詢操作時經常用到,等滿足某個條件再break退出這個迴圈。
如果本文對你有所幫助,歡迎
留言,點贊,轉發
素質三連,謝謝?~