新聞中心
Python3 條件控制
Python 條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True 或者 False)來決定執(zhí)行的代碼塊。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了北流免費建站歡迎大家使用!
可以通過下圖來簡單了解條件語句的執(zhí)行過程:
代碼執(zhí)行過程:
if 語句
Python中if語句的一般形式如下所示:
if
condition_1
:
statement_block_1
elif
condition_2
:
statement_block_2
else
:
statement_block_3
- 如果 "condition_1" 為 True 將執(zhí)行 "statement_block_1" 塊語句
- 如果 "condition_1" 為False,將判斷 "condition_2"
- 如果"condition_2" 為 True 將執(zhí)行 "statement_block_2" 塊語句
- 如果 "condition_2" 為False,將執(zhí)行"statement_block_3"塊語句
Python 中用 elif 代替了 else if,所以if語句的關(guān)鍵字為:if – elif – else。
注意:
- 1、每個條件后面要使用冒號 :,表示接下來是滿足條件后要執(zhí)行的語句塊。
- 2、使用縮進來劃分語句塊,相同縮進數(shù)的語句在一起組成一個語句塊。
- 3、在 Python 中沒有 switch...case 語句,但在 Python3.10 版本添加了 match...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!
"
)
執(zhí)行以上代碼,輸出結(jié)果為:
1 - if 表達式條件為 true 100 Good bye!
從結(jié)果可以看到由于變量 var2 為 0,所以對應(yīng)的 if 內(nèi)的語句沒有執(zhí)行。
以下實例演示了狗的年齡計算判斷:
實例
#!/usr/bin/python3
age
=
int
(
input
(
"
請輸入你家狗狗的年齡:
"
)
)
print
(
"
"
)
if
age
<=
0
:
print
(
"
你是在逗我吧!
"
)
elif
age
==
1
:
print
(
"
相當(dāng)于 14 歲的人。
"
)
elif
age
==
2
:
print
(
"
相當(dāng)于 22 歲的人。
"
)
elif
age
>
2
:
human
=
22
+
(
age
-
2
)
*
5
print
(
"
對應(yīng)人類年齡:
"
,
human
)
### 退出提示
input
(
"
點擊 enter 鍵退出
"
)
將以上腳本保存在dog.py文件中,并執(zhí)行該腳本:
$ python3 dog.py 請輸入你家狗狗的年齡: 1 相當(dāng)于 14 歲的人。 點擊 enter 鍵退出
以下為if中常用的操作運算符:
| 操作符 | 描述 |
|---|---|
< | 小于 |
<= | 小于或等于 |
> | 大于 |
>= | 大于或等于 |
== | 等于,比較兩個值是否相等 |
!= | 不等于 |
實例
#!/usr/bin/python3
# 程序演示了 == 操作符
# 使用數(shù)字
print
(
5
==
6
)
# 使用變量
x
=
5
y
=
8
print
(
x
==
y
)
以上實例輸出結(jié)果:
False False
high_low.py文件演示了數(shù)字的比較運算:
實例
#!/usr/bin/python3
# 該實例演示了數(shù)字猜謎游戲
number
=
7
guess
= -
1
print
(
"
數(shù)字猜謎游戲!
"
)
while
guess
!=
number
:
guess
=
int
(
input
(
"
請輸入你猜的數(shù)字:
"
)
)
if
guess
==
number
:
print
(
"
恭喜,你猜對了!
"
)
elif
guess
<
number
:
print
(
"
猜的數(shù)字小了...
"
)
elif
guess
>
number
:
print
(
"
猜的數(shù)字大了...
"
)
執(zhí)行以上腳本,實例輸出結(jié)果如下:
$ python3 high_low.py 數(shù)字猜謎游戲! 請輸入你猜的數(shù)字:1 猜的數(shù)字小了... 請輸入你猜的數(shù)字:9 猜的數(shù)字大了... 請輸入你猜的數(shù)字:7 恭喜,你猜對了!
if 嵌套
在嵌套 if 語句中,可以把 if...elif...else 結(jié)構(gòu)放在另外一個 if...elif...else 結(jié)構(gòu)中。
if 表達式1:
語句
if 表達式2:
語句
elif 表達式3:
語句
else:
語句
elif 表達式4:
語句
else:
語句
實例
# !/usr/bin/python3
num
=
int
(
input
(
"
輸入一個數(shù)字:
"
)
)
if
num
%
2
==
0
:
if
num
%
3
==
0
:
print
(
"
你輸入的數(shù)字可以整除 2 和 3
"
)
else
:
print
(
"
你輸入的數(shù)字可以整除 2,但不能整除 3
"
)
else
:
if
num
%
3
==
0
:
print
(
"
你輸入的數(shù)字可以整除 3,但不能整除 2
"
)
else
:
print
(
"
你輸入的數(shù)字不能整除 2 和 3
"
)
將以上程序保存到 test_if.py 文件中,執(zhí)行后輸出結(jié)果為:
$ python3 test.py 輸入一個數(shù)字:6 你輸入的數(shù)字可以整除 2 和 3
match...case
Python 3.10 增加了 match...case 的條件判斷,不需要再使用一連串的 if-else 來判斷了。
match 后的對象會依次與 case 后的內(nèi)容進行匹配,如果匹配成功,則執(zhí)行匹配到的表達式,否則直接跳過,_ 可以匹配一切。
語法格式如下:
match subject:
case :
case :
case :
case _:
case _: 類似于 C 和 Java 中的 default:,當(dāng)其他 case 都無法匹配時,匹配這條,保證永遠會匹配成功。
實例
def http_error
(status
):
match status:
case
400:
return
"Bad request"
case
404:
return
"Not found"
case
418:
return
"I'm a teapot"
case _:
return
"Something's wrong with the internet"
mystatus
=
400
print
(http_error
(
400
)
)
以上是一個輸出 HTTP 狀態(tài)碼的實例,輸出結(jié)果為:
Bad request
一個 case 也可以設(shè)置多個匹配條件,條件使用 | 隔開,例如:
...
case 401|403|404:
return "Not allowed" 網(wǎng)頁標(biāo)題:Python3條件控制
本文鏈接:http://www.dlmjj.cn/article/dpesgdc.html


咨詢
建站咨詢
