python流程控制語句
阿新 • • 發佈:2021-09-17
基本概念
流程控制語句就是按照一定的步驟來實現某些功能的語句
python 中主要的流程控制語句:選擇語句、條件表示式、迴圈語句、跳轉語句、pass 語句
程式結構
計算機在解決問題時,分別是順序執行所有語句、選擇執行部分語句、迴圈執行部分語句,分別是:順序結構、選擇結構、迴圈結構。如下圖:
1、 if語句
1.1簡單的if語句
if 表示式: 語句塊1 else: 語句塊2
語法:如果符合條件,則...
if 表示式: 語句塊
#例項 a = 10 if a < 100: print("a<100")
執行結果:
a<100
1.1簡單的if語句
語法:如果符合條件,則...,否則...
if 表示式: 語句塊1 else: 語句塊2
score = int(input("請輸入你英語成績:")) if score >= 60: print("你的英語成績合格") else: print("你的英語成績不合格") 執行結果: 請輸入你英語成績:56 你的英語成績不合格
1.3if...elif...else 語句
語法:如果符合條件,就...,否則,如果滿足另一種條件,則...
if 表示式1: 語句塊1 elif 表示式2: 語句塊2 ......else: #如果都不滿足則執行語句塊n 語句塊n
例項: # 猜數遊戲 number = 55 print("猜數字遊戲!") number_in = int(input("你猜的數字是:")) if number_in == number: print("你猜對了!") elif number_in > number: print("你猜的數字大了") else: print("你猜的數字小了") 執行結果: 猜數字遊戲! 你猜的數字是:56 你猜的數字大了
1.4if巢狀
語法:巢狀語法可以有多種結合,此處列舉一列如下
if 表示式1:if 表示式2: 語句塊2 else: 語句塊3 else: 語句塊1
# 例項:判斷是否為酒後駕車 print("為了您和家人的安全,嚴禁酒後駕車!") proof = int(input("請輸入每100毫升血液的酒精含量:")) if proof < 20: print("您還不構成飲酒駕車,可以開車,但請注意安全!") else: if 80 > proof >= 20: print("已經達到酒後駕駛標準,請不要開車!") else: print("您已經達到醉酒駕駛標準,千萬不要開車!!!") 執行結果1: 為了您和家人的安全,嚴禁酒後駕車! 請輸入每100毫升血液的酒精含量:90 您已經達到醉酒駕駛標準,千萬不要開車!!! 執行結果2: 為了您和家人的安全,嚴禁酒後駕車! 請輸入每100毫升血液的酒精含量:19 您還不構成飲酒駕車,可以開車,但請注意安全!
2、迴圈語句
2.1、while迴圈
一直重複,直到條件不滿足時停止,語法:
while 條件表示式: 迴圈體
# 例項:while迴圈實現1+2+...+100 sum = 0 n = 0 while n <= 100: sum = sum + n n = += 1 print("1+2+...+100=",sum) 執行結果: 1+2+...+100= 5050
2.2、for迴圈
一般重複一定次數,通常用於迭代、列舉或遍歷,語法:
for 迭代變數 in 物件: 迴圈體
#例項:for迴圈實現1+2+...+100 sum = 0 #儲存累加結果的變數 for i in range(101): #range()函式實現數值迴圈:生成一系列連續整數 sum += i #實現累加 print("1+2+...+100=",sum) 執行結果:1+2+...+100= 5050
or迴圈除了可以迴圈數值,也可以遍歷字串
# 例項:for迴圈遍歷字串 string = "我可以的" print(string) for ch in string: print(ch) 執行結果: 我可以的 我 可 以 的
2.3、迴圈巢狀
# 語法1 while 條件表示式1: while 條件表示式2: 迴圈體2 迴圈體1 # 語法2 while 條件表示式: for 迭代變數 in 物件: 迴圈體2 迴圈體1 # 語法3 for 迭代變數 in 物件: while 條件表示式: 迴圈體2 迴圈體1 # 語法4,5......
例項:使用迴圈巢狀,輸出99乘法表 # -*- coding:utf-8 -*- # version:python3.7 for i in range(1,10): #控制行數 for j in range(1,i+1): #輸出與行數相等的列,range不包括結束值,所以i+1 print(str(j)+"X"+str(i)+"="+str(j*i)+"\t",end='') #\t:轉義字元一個Tab鍵,end='':在一行輸出 print("") #轉行 執行結果: 1X1=1 1X2=2 2X2=4 1X3=3 2X3=6 3X3=9 1X4=4 2X4=8 3X4=12 4X4=16 1X5=5 2X5=10 3X5=15 4X5=20 5X5=25 1X6=6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36 1X7=7 2X7=14 3X7=21 4X7=28 5X7=35 6X7=42 7X7=49 1X8=8 2X8=16 3X8=24 4X8=32 5X8=40 6X8=48 7X8=56 8X8=64 1X9=9 2X9=18 3X9=27 4X9=36 5X9=45 6X9=54 7X9=63 8X9=72 9X9=81
3、跳轉語句
3.1break語句
直接跳出迴圈
# 例項:電影院座位五行七列,你的座位為第二行第三列,請找出你的座位 for row in range(1,5): print("當前所在排:",row) if row == 2: print("這是您座位所在排") for column in range(1,8): print("當前所在列:",column) if column == 3: print("這是您的座位") break break 執行結果: 當前所在排: 1 當前所在排: 2 這是您座位所在排 當前所在列: 1 當前所在列: 2 當前所在列: 3 這是您的座位# 如果不使用break跳轉語句跳出迴圈,會將所有排數都列印一遍
3.2、continue語句
不能跳出整個語句,只能退出本次迴圈,提前進入下次迴圈
# 例項:逢七過遊戲(叫數遊戲:遇到七的倍數和以七結尾的數過) total = 99 #假定99次都過 for number in range(1,100): #從1迴圈到99 if number % 7 == 0: #是七的倍數 continue #繼續下一次叫數 else: string = str(number) if string.endswith('7'): #判斷是否以七結尾 continue #繼續下一次迴圈 total -= 1 #可過次數-1 print("從1到99可以過",total,"次") 執行結果: 從1到99可以過 22 次
3.3、pass語句
表示空語句,不做任何事情,起佔位作用
# 例項:輸出1-10之間的偶數,不是偶數的先使用pass空語句佔位 for i in range(1,11): if i % 2 == 0: print(i,end=' ') #輸出1-10之間的偶數,中間使用空格隔開 else: pass #不是偶數的先佔位 執行結果: 2 4 6 8 10