Latest web development tutorials

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

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