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