本文實例形式講解了Python3的條件與循環控制語句及其用法,是學習Python所必須掌握的重要知識點,現共享給大家供大家參考。具體如下:
一般來說Python的流程控制語句包括:if條件語句、while循環語句、for循環語句、range函數以及break、continue、pass控制語句。這些語句在Python中的語義和在其他語言中基本是一樣的,所以這里就只說它們的用法。
一、if語句
if語句是最常用的條件控制語句,Python中的一般形式為:
if 條件一:
statements
elif 條件二:
statements
else:
statements
實例
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
如果 "condition_1" 為 True 將執行 "statement_block_1" 塊語句
如果 "condition_1" 為False,將判斷 "condition_2"
如果"condition_2" 為 True 將執行 "statement_block_2" 塊語句
如果 "condition_2" 為False,將執行"statement_block_3"塊語句
Python中用
elif
代替了else if,所以if語句的關鍵字為:if ?C elif ?C else。
注意:
1、每個條件后面要使用冒號(:),表示接下來是滿足條件后要執行的語句塊。
2、使用縮進來劃分語句塊,相同縮進數的語句在一起組成一個語句塊。
3、在Python中沒有switch ?C case語句。
示例代碼如下:
x = int(input("Please enter an integer: "))
if x < 0:
print('Negative.')
elif x == 0:
print('Zero.')
else:
print('Positive.')
實例
以下是一個簡單的 if 實例:
#!/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
100
Good bye!
從結果可以看到由于變量 var2 為 0,所以對應的 if 內的語句沒有執行。
以下實例演示了狗的年齡計算判斷:
#!/usr/bin/python3
age = int(input("請輸入你家狗狗的年齡: "))
print("")
if age < 0:
print("你是在逗我吧!")
elif age == 1:
print("相當于 14 歲的人。")
elif age == 2:
print("相當于 22 歲的人。")
elif age > 2:
human = 22 + (age -2)*5
print("對應人類年齡: ", human)
### 退出提示
input("點擊 enter 鍵退出")
將以上腳本保存在dog.py文件中,并執行該腳本:
$ python3 dog.py
請輸入你家狗狗的年齡: 1相當于 14 歲的人。
點擊 enter 鍵退出
以下為if中常用的操作運算符:
| 操作符 | 描述 |
|---|---|
| < | 小于 |
| <= | 小于或等于 |
| > | 大于 |
| >= | 大于或等于 |
| == | 等于,比較對象是否相等 |
| != | 不等于 |
實例
#!/usr/bin/python3
# 程序演示了 == 操作符
# 使用數字
print(5 == 6)
# 使用變量
x = 5
y = 8
print(x == y)
以上實例輸出結果:
False
False
high_low.py文件演示了數字的比較運算:
實例
#!/usr/bin/python3
# 該實例演示了數字猜謎游戲
number = 7
guess = -1
print("數字猜謎游戲!")
while guess != number:
guess = int(input("請輸入你猜的數字:"))
if guess == number:
print("恭喜,你猜對了!")
elif guess < number:
print("猜的數字小了...")
elif guess > number:
print("猜的數字大了...")
執行以上腳本,實例輸出結果如下:
$ python3 high_low.py
數字猜謎游戲!
請輸入你猜的數字:1
猜的數字小了...
請輸入你猜的數字:9
猜的數字大了...
請輸入你猜的數字:7
恭喜,你猜對了!
if 嵌套
在嵌套 if 語句中,可以把 if...elif...else 結構放在另外一個 if...elif...else 結構中。
if 表達式1:
語句
if 表達式2:
語句
elif 表達式3:
語句
else:
語句
elif 表達式4:
語句
else:
語句
實例
# !/usr/bin/python3
num=int(input("輸入一個數字:"))
if num%2==0:
if num%3==0:
print ("你輸入的數字可以整除 2 和 3")
else:
print ("你輸入的數字可以整除 2,但不能整除 3")
else:
if num%3==0:
print ("你輸入的數字可以整除 3,但不能整除 2")
else:
print ("你輸入的數字不能整除 2 和 3")
將以上程序保存到 test_if.py 文件中,執行后輸出結果為:
$ python3 test.py
輸入一個數字:6
你輸入的數字可以整除 2 和 3
二、while語句
Python中while語句的一般形式:
while 判斷條件:
statements
同樣需要注意冒號和縮進。另外,在Python中沒有do..while循環。
示例代碼如下:
a, b = 0, 1
while b < 10: # 循環輸出斐波納契數列
print(b)
a, b = b, a+b
三、for語句
Python中的for語句與C語言中的for語句有點不同:C語言中的for語句允許用戶自定義迭代步驟和終止條件;而Python的for語句可以遍歷任何序列(sequence),按照元素在序列中的出現順序依次迭代。一般形式為:
for variable in sequence:
statements
else:
statements
示例代碼如下:
words = ['cat','love','apple','python','friends']
for item in words:
print(item, len(item))
如果你需要在循環體內修改你正迭代的序列,你最好是制作一個副本,這時切片標記就非常有用了:
words = ['cat','love','apple','python','friends']
for item in words[:]: # 制作整個列表的切片副本
if len(item) >= 6:
words.insert(0, item)
print(words)
我們注意到循環語句中還可以使用else子句,下面第五點有講到。
四、range函數
如果你要遍歷一個數字序列,那么內置的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]
示例代碼如下:
for i in range(2, 11):
print(i)
五、break、continue、pass及else子句
①.break
break語句與C語言中的一樣,跳出最近的for或while循環。
②.continue
continue語句同樣是從 C 語言借用的, 它終止當前迭代而進行循環的下一次迭代。
③.pass
pass語句什么都不做,它只在語法上需要一條語句但程序不需要任何操作時使用。pass語句是為了保持程序結構的完整性。
④.else子句
在循環語句中還可以使用else子句,else子句在序列遍歷結束(for語句)或循環條件為假(while語句)時執行,但循環被break終止時不執行。如下所示:
# 循環結束執行else子句
for i in range(2, 11):
print(i)
else:
print('for statement is over.')
# 被break終止時不會執行else子句
for i in range(5):
if(i == 4):
break;
else:
print(i)
else:
print('for statement is over') # 不會輸出
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

