Python3 條件控制
Python條件語句是透過一條或多條語句的執行結果(True或False)來決定執行的程式碼區塊。
可以透過下圖來簡單了解條件語句的執行過程:
#if 語句
Python中if語句的一般形式如下所示:
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 – elif – else。
注意:
1、每個條件後面要使用冒號(:),表示接下來是滿足條件後要執行的語句塊。
2、使用縮排來分割語句區塊,相同縮排數的語句在一起組成一個語句區塊。
3、在Python中沒有switch – case語句。
實例
以下是一個簡單的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
#!/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###