Python3 條件控制
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語句。
Gif 演示:
例項
以下是一個簡單的 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