梦想加空间 - 一个程序猿的个人博客网站

您現在的位置是:首頁 >python教程 >python教程十四 條件語句網站首頁python教程

python教程十四 條件語句

三只小菜猿 2023-02-07 10:00:15
簡介case _: 類似于 C 和 Java 中的 default:,當其他 case 都無法匹配時,匹配這條,保證永遠會匹配成功。match 后的對象會依次與 case 后的內容進行匹配,如果匹配成功,則執行匹配到的表達式,否則直接跳過,_ 可以匹配一切。Python 中用 elif 代替了 else if,所以if語句的關鍵字為:if – elif – else。在嵌套 if 語句中,可以把 if…如果 “condition_2” 為False,將執行statement_block_3塊語句。

條件控制

Python 條件語句是通過一條或多條語句的執行結果(True 或者 False)來決定執行的代碼塊。

可以通過下圖來簡單了解條件語句的執行過程:

flowchat
st=>start: 開始
e=>end: 結束
op=>operation: 條件代碼
cond=>condition: 條件

st->cond->op->e
cond(true)->op
cond(false)->e

代碼執行過程:

在這里插入圖片描述在這里插入圖片描述

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 語句,但在 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!")

執行以上代碼,輸出結果為:

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

match...case

Python 3.10 增加了 match...case 的條件判斷,不需要再使用一連串的 if-else 來判斷了。

match 后的對象會依次與 case 后的內容進行匹配,如果匹配成功,則執行匹配到的表達式,否則直接跳過,_ 可以匹配一切。

語法格式如下:

match subject: case <pattern_1>: <action_1> case <pattern_2>: <action_2> case <pattern_3>: <action_3> case _: <action_wildcard>

case _: 類似于 C 和 Java 中的 default:,當其他 case 都無法匹配時,匹配這條,保證永遠會匹配成功。

mystatus=400
print(http_error(400))

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"

以上是一個輸出 HTTP 狀態碼的實例,輸出結果為:

Bad request

一個 case 也可以設置多個匹配條件,條件使用 | 隔開,例如:

...
    case 401|403|404:
        return "Not allowed"


夢想加空間!平時喜歡研究各種技術,目前在從事后端開發工作,熱愛生活、熱愛工作。
主站蜘蛛池模板: 硬脂酸钡_硬脂酸镁_硬脂酸镉_硬脂酸铝_硬脂酸锌-石家庄中石恒达矿产品有限公司 | 英格索兰隔膜泵_ARO气动隔膜泵_英格索兰隔膜泵配件【原厂正品】连续五年无投诉_英格索兰隔膜泵代理-苏州瑞晟茂环保设备有限公司 印刷公司,北京印刷厂,宣传画册手册印刷厂-和智印彩页设计 | 山东向阳电子科技有限公司-多用户集中式电能表生产厂家,NB物联网水表,刷卡水电表生产厂家,泰安智能水电表价格 | 泊头压滤机-隔膜-洗沙-厢式-板框压滤机-河北巨盛压滤机制造有限公司 | 南京企业宣传片制作,广告形象片,影视制作,宣传片拍摄,微电影拍摄制作公司 | 小程序定制,小程序开发,北京小程序公司,网站建设,网站制作,北京网站建设,北京网站制作 | 易众拍卖行-事故车拍卖,残值车拍卖,水淹车拍卖,全损车拍卖,修复车拍卖,碰橦车拍卖,瑕疵车拍卖,报废车拍卖,泡水车拍卖,拆车件拍卖,配件拍卖,火烧车拍卖,二手车拍卖专业线上平台 | 重庆电磁流量计_水表厂家_液位计_重庆青天特克科技有限公司 | 星干线艺考_导演艺考培训班_播音主持艺考_表演艺考培训班-助你考上北京电影学院影视表演系 | 南通海拓机械有限公司|剪板机|折弯机|卷板机|开卷校平线 | 天空彩票天下彩,天空彩天空彩票免费资料,天空彩票与你同行开奖,天下彩正版资料大全 | 增压泵-离心泵-管道泵-排污泵-上海渤泉泵业制造有限公司 【官方网站】 | 网站建设-百度SEO关键词优化与企业全网营销推广服务-启源信息 | 山东金起起重机械有限公司[官网]-金桥银路悬臂吊,金起龙门吊,山东金起起重行吊,单梁起重机 | 上海希喆机械有限公司-Schunk雄克,雄克卡盘, 雄克机械手, B+R贝加莱, ELCIS编码器,艾西斯编码器, TWK编码器,Nexen,Joyce dayton升降机,Thomson汤姆森,TPG减速机,INA导轨。 | 一体化净水器设备-浸没式膜水处理设备-智慧水务-超滤膜-模块化净水设备-浙江华晨环保有限公司 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 桶装水配送-瓶装水-净水器-厦门水之露商贸有限公司,电话:18205922444 | 日本进口东丽碳纤维材料-上海久扶新材料科技有限公司 | 液晶拼接屏_三星46寸/55寸/LG液晶拼接屏_深圳拼接墙厂家_电视大屏幕液晶拼接_高清工业级液晶监视器 | 压滤机入料泵_渣浆泵_耐磨污水泵_保定森力克水泵制造有限公司 | 液位变送器_智能压力变送器_3051差压变送器_单双法兰,投入式,电容式,温度变送器-淮安润中仪表科技有限公司 | 衢州网站建设_网络公司_做网站_网站制作_网页设计-优骆网络 | 浙江微龙科技-微通道工艺结合设备一站式解决方案-致力于连续流技术开发与产业化应用-助力传统医药化工行业转型升级 | 涡流探伤仪-超声波探伤仪-上海仓信电子科技有限公司 | 兰州物流公司_兰州货运公司_兰州物流电话上门取货_兰州立辉物流公司 | 浙江德威不锈钢管业股份有限公司 | 气体报警器,有毒气体报警器,可燃气体探测器,乙炔气体报警器,可燃气体检漏仪,便携式气体检测仪,气体报警控制器-山东如特安防设备有限公司 | 烧碱-工业片碱-火碱价格-氢氧化钠厂家-巩义市宝莱新材料厂 | 有机肥设备|有机肥生产线|有机肥料生产设备|河南通达重工科技有限公司 | 智能照明模块_智能照明控制器_照明控制系统_智能调光模块_西安邦华电气工程有限公司 | 济南诚润达贸易有限公司 - 专注专营巴斯夫防冻冷却液 | 网络公关公司_舆情监测_危机公关_品牌公关_一夜红传媒 | 喷涂机器人|自动喷涂生产线|自动喷涂设备|自动化生产线-深圳市荣德机器人科技有限公司 | 山东净化车间_净化工程_净化公司-山东海蓝净化装饰工程有限公司 山东金起起重机械有限公司[官网]-金桥银路悬臂吊,金起龙门吊,山东金起起重行吊,单梁起重机 | 液体粉末包装机_颗粒粉剂自动包装机-上海巧慈自动化设备有限公司 | 展柜设计定制-品牌展柜订做-展柜制作厂家「广州嘉艺展柜」 | 尾矿干排_机制砂尾矿干排_带式压滤机|山东森鹏环保科技有限公司 潍坊卓瑞机械有限公司,输送设备,石灰消化设备,餐厨垃圾设备,化机浆设备,污泥脱水 | 兰州钢结构,甘肃铝镁锰板工程,青海岩棉复合板厂家,宁夏岩棉彩钢板公司,西宁彩钢夹芯板-兰州腾达彩钢 | 噪声治理,消声器,隔声屏障,隔声罩,噪声控制,降噪,空调降噪,水泵噪声治理,冷却塔噪声治理-北京华清恒业环保设备有限公司 | 在线BMI计算器 - 免费计算身体质量指数(BMI) |