1. 程式人生 > 其它 >python流程控制語句

python流程控制語句

基本概念

  流程控制語句就是按照一定的步驟來實現某些功能的語句

  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