Python3條件與迴圈控制

2021-09-11 02:47:08 字數 3563 閱讀 2487

python的流程控制語句包括:if條件語句、while迴圈語句、for迴圈語句、range函式以及break、continue、pass控制語句。這些語句在python中的語義和在其他語言中是一樣的,所以這裡就只說它們的寫法。

if語句是最常用的條件控制語句,python中的一般形式為:

if 條件一:

statements

elif 條件二:

statements

else:

statements

python中用elif代替了else if,所以if語句的關鍵字為:if - elif - else。

例項:

#!/usr/bin/python3

var1 = 100

if var1:

print ("1 - if 表示式條件為 true")

print (var1)

var2 = 0

if var2:

print ("2 - if 表示式條件為 true")

print (var2)

print ("good bye!")

執行以上**,輸出結果為:

1 - if 表示式條件為 true

100good bye!

注意

1、每個條件後面要使用冒號(:),表示接下來是滿足條件後要執行的語句塊。

2、使用縮排來劃分語句塊,相同縮排數的語句在一起組成乙個語句塊。

3、在python中沒有switch - case語句。

python中while語句的一般形式:

while 判斷條件:

statements

同樣需要注意冒號和縮排。另外,在python中沒有do..while迴圈

例項:

#!/usr/bin/env python3

n = 100

sum = 0

counter = 1

while counter <= n:

sum = sum + counter

counter += 1

print("1 到 %d 之和為: %d" % (n,sum))

執行以上**,輸出結果為:

1 到 100 之和為: 5050
python中的for語句與c語言中的for語句有點不同:c語言中的for語句允許使用者自定義迭代步驟和終止條件;而python的for語句可以遍歷任何序列(sequence),按照元素在序列中的出現順序依次迭代。一般形式為:

for variable in sequence:

statements

else:

statements

例項:

print("菜鳥教程!")

break

print("迴圈資料 " + site)

else:

print("沒有迴圈資料!")

print("完成迴圈!")

執行指令碼後,在迴圈到 "runoob"時會跳出迴圈體:

迴圈資料 baidu

迴圈資料 google

菜鳥教程!

完成迴圈!

如果你要遍歷乙個數字序列,那麼內建的range()函式就可以派上用場了。函式range()常用於for迴圈中,用於產生乙個算術數列:

>>> list(range(10))   # 預設從0開始

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> list(range(1, 11)) # 從1到11,前閉後開

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> list(range(0, 30, 5)) # 5表示步長,每隔5取乙個數

[0, 5, 10, 15, 20, 25]

breakbreak語句與c語言中的一樣,跳出最近的for或while迴圈。

continue

continue語句同樣是從 c 語言借用的, 它終止當前迭代而進行迴圈的

下一次迭代。

pass

pass語句什麼都不做,它只在語法上需要一條語句但程式不需要任何操作時使用。pass語句是為了保持程式結構的完整性。

例項:

#!/usr/bin/python3

for letter in 'runoob':

if letter == 'o':

pass

print ('執行 pass 塊')

print ('當前字母 :', letter)

print ("good bye!")

執行以上指令碼輸出結果為:

當前字母 : r

當前字母 : u

當前字母 : n

執行 pass 塊

當前字母 : o

執行 pass 塊

當前字母 : o

當前字母 : b

good bye!

else子句在迴圈語句中還可以使用else子句,else子句在序列遍歷結束(for語句)或迴圈條件為假(while語句)時執行,但迴圈被break終止時不執行。

例項:

#!/usr/bin/python3

for n in range(2, 10):

for x in range(2, n):

if n % x == 0:

print(n, '等於', x, '*', n//x)

break

else:

# 迴圈中沒有找到元素

print(n, ' 是質數')

執行以上指令碼輸出結果為:

2  是質數

3 是質數

4 等於 2 * 2

5 是質數

6 等於 2 * 3

7 是質數

8 等於 2 * 4

9 等於 3 * 3

Python3自學筆記5 條件判斷與迴圈

時間2016.10.20 摘錄自 廖雪峰python3.5教程 內容 條件判斷與迴圈 一 if的使用 if 條件1 執行1elif 條件2 執行2else 執行3只要條件為非0數值 非空字串 非空list等就判定滿足條件。注 python中如何注釋,對於單行注釋用 對於多行注釋 與 或者 與 之間的...

3 條件 迴圈

usr bin perl w use feature qw say 列印內容自動換行,不用手動加 n my var ifif var if else if var else if elsif 注意是elsif,不是elif,sv中也是elsif if var 10 elsif var 5 else ...

Python 學習筆記3(條件 迴圈)

1 條件判斷 這個和c語言有點類似,看下面 age 20if age 18 print your age is age print adult 你發現了什麼,if後面有個冒號,而且如果age小於18你猜結果會是怎樣,如果是c語言那麼肯定會輸出 adult 而py不會輸出 說明py的 執行和縮排有關 ...