淺析Python條件語(yǔ)句中的解密邏輯與控制流
前言
Python的條件語(yǔ)句用來(lái)根據(jù)特定的條件決定程序的執(zhí)行流程。它允許程序根據(jù)條件的真假執(zhí)行不同的代碼塊,從而實(shí)現(xiàn)不同情況下的不同操作。條件語(yǔ)句使程序能夠根據(jù)特定條件進(jìn)行邏輯判斷和選擇性的控制,從而增強(qiáng)了程序的靈活性和可擴(kuò)展性。那么今天將由我來(lái)帶大家進(jìn)入 python 條件語(yǔ)句這一奇妙世界。
if 語(yǔ)句
if 條件語(yǔ)句:
執(zhí)行代碼
...
生活中時(shí)間的24小時(shí)制大家應(yīng)該都知道吧,當(dāng)?shù)搅送砩?2點(diǎn)的時(shí)候,小時(shí)表示會(huì)從24變?yōu)?,那么通過(guò)代碼我們?cè)撛趺磳?shí)現(xiàn)呢?
hour = 24 # 這里添加一個(gè)判斷語(yǔ)句:當(dāng) hour 為24時(shí),就重置為0 if hour == 24: hour = 0 print(f'現(xiàn)在是{hour}時(shí)')
注意了,python 中判斷是不是屬于 if 代碼塊的標(biāo)準(zhǔn)是:是否有相同的縮進(jìn),當(dāng)你沒(méi)有相同的縮進(jìn)的時(shí)候就會(huì)被認(rèn)為不屬于 if 代碼塊。
hour = 24 # 這里添加一個(gè)判斷語(yǔ)句:當(dāng) hour 為24時(shí),就重置為0 if hour == 24: hour = 0 print('代碼塊1') # 這一行代碼屬于 if 代碼塊 print('代碼塊2') # 這一行代碼不屬于 if 代碼塊,跟 if 語(yǔ)句無(wú)關(guān) print(f'現(xiàn)在是{hour}時(shí)')
hour = 23 # 這里添加一個(gè)判斷語(yǔ)句:當(dāng) hour 為24時(shí),就重置為0 if hour == 24: hour = 0 print('代碼塊1') # 這一行代碼屬于 if 代碼塊 print('代碼塊2') # 這一行代碼不屬于 if 代碼塊 print(f'現(xiàn)在是{hour}時(shí)')
if … else …
if 條件1:
代碼塊1
else:
代碼塊2
...
當(dāng) if 的條件成立時(shí)就執(zhí)行 if 中的代碼,并且不執(zhí)行 else 當(dāng)中的代碼;當(dāng) if 的條件不成立時(shí),則執(zhí)行 else 當(dāng)中的代碼塊。也就是說(shuō)只會(huì)執(zhí)行 if 或者 else 中一種代碼。
# 記住了這里的 input 輸入的類型是 str 類型 age = int(input('請(qǐng)輸入你的年齡')) if age >= 18: print('成年') else: print('未成年')
多重判斷(if … elif … else…)
if 條件1:
執(zhí)行代碼1
elif 條件2:
執(zhí)行代碼2
elif 條件3:
執(zhí)行代碼3
...
else:
執(zhí)行代碼4
同樣多重判斷也是只會(huì)執(zhí)行其中的一種判斷,如果 if 條件成立,就執(zhí)行 if 中的代碼,并且不會(huì)執(zhí)行 elif 和 else 中的代碼;如果 if 條件不成立,elif 條件成立,則執(zhí)行 elif 當(dāng)中的代碼塊,并且不會(huì)執(zhí)行 else 當(dāng)中的代碼;如果 if 和 elif 的條件都不成立,則執(zhí)行 else 中的代碼。
# 根據(jù)輸入的年齡判斷你處于那個(gè)年齡階段 age = int(input('請(qǐng)輸入你的年齡')) if age < 18: print('青少年') elif (age >= 18) and (age < 30): print('青年') elif (age >= 30) and (age < 60): print('中年') else: print('老年')
if 嵌套
if 條件1:
執(zhí)行語(yǔ)句1
if 條件2:
執(zhí)行語(yǔ)句2
elif 條件3:
執(zhí)行語(yǔ)句3
else:
執(zhí)行語(yǔ)句4
elif 條件4:
執(zhí)行語(yǔ)句5
else:
執(zhí)行語(yǔ)句6
在判斷中可以再嵌套判斷,以此來(lái)達(dá)到多次判斷的目的,使數(shù)據(jù)更加準(zhǔn)確。
# 假設(shè)去某公司招聘 degree = 1 # 1代表本科及以上的學(xué)歷 ability1 = 1 # 具有能力1 ability2 = 0 if degree == 1: if (ability1 == 1) and (ability2 == 1): print('擔(dān)任職務(wù)1') else: print('擔(dān)任職務(wù)2') else: print('對(duì)不起,您并未達(dá)到我們的學(xué)歷要求')
猜數(shù)字游戲
這里我們使用上面學(xué)習(xí)到的條件語(yǔ)句來(lái)簡(jiǎn)單的完成一個(gè)猜數(shù)字游戲。
猜數(shù)字游戲基本流程:
1.使用 random 模塊下的randint 方法生成一個(gè)隨機(jī)數(shù)。
2.玩家猜數(shù)字
3.判斷玩家猜的數(shù)字與生成的數(shù)字的大小關(guān)系
# 猜數(shù)字游戲 import random # 導(dǎo)入 random 模塊 num = random.randint(0,100) # 使用random 模塊下的 randint 方法生成隨機(jī)數(shù) while 1: # 因?yàn)椴豢赡芤淮尉筒轮校晕覀儗⒉聰?shù)字放入循環(huán)中, # 這里知道就想好了,我們后面再介紹 while 循環(huán) guess = int(input('請(qǐng)輸入你要猜的數(shù)字')) if guess > num: print('猜大了') elif guess < num: print('猜小了') else: print(f'猜對(duì)了,數(shù)字是{num}') break # break 的作用是跳出 while 循環(huán)
三目運(yùn)算符
使用三目運(yùn)算符可以簡(jiǎn)化代碼,特別是在一些簡(jiǎn)單的條件判斷和賦值操作中。
值1 if 條件 else 值2
三目運(yùn)算符的執(zhí)行順序:先判斷 if 條件是否成立,如果成立,那么該三目運(yùn)算符的結(jié)構(gòu)就是值1,如果不成立,三目運(yùn)算符的結(jié)果就是值2。
# c為a 和 b 中的較大值 a = int(input('a = ')) b = int(input('b = ')) c = a if a > b else b print('c = %d' % c)
但需要注意,過(guò)度使用三目運(yùn)算符可能會(huì)導(dǎo)致代碼難以理解,因此應(yīng)該適度使用。
到此這篇關(guān)于淺析Python條件語(yǔ)句中的解密邏輯與控制流的文章就介紹到這了,更多相關(guān)Python條件語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python numpy.power()數(shù)組元素求n次方案例
這篇文章主要介紹了python numpy.power()數(shù)組元素求n次方案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03python 循環(huán)遍歷字典元素的簡(jiǎn)單方法
下面小編就為大家?guī)?lái)一篇python循環(huán)遍歷字典元素的簡(jiǎn)單方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09Python使用concurrent.futures模塊實(shí)現(xiàn)多進(jìn)程多線程編程
Python的concurrent.futures模塊可以很方便的實(shí)現(xiàn)多進(jìn)程、多線程運(yùn)行,減少了多進(jìn)程帶來(lái)的的同步和共享數(shù)據(jù)問(wèn)題,下面就跟隨小編一起了解一下concurrent.futures模塊的具體使用吧2023-12-12python?Django實(shí)現(xiàn)增刪改查實(shí)戰(zhàn)代碼
這篇文章主要介紹了python?Django增刪改查快速體驗(yàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02Python編程中flask的簡(jiǎn)介與簡(jiǎn)單使用
今天小編就為大家分享一篇關(guān)于Python編程中flask的簡(jiǎn)介與簡(jiǎn)單使用,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12Django原生sql也能使用Paginator分頁(yè)的示例代碼
這篇文章主要介紹了Django原生sql也能使用Paginator分頁(yè)的示例代碼,主要使用了count和__getslice__,有興趣的可以了解一下2017-11-11python如何通過(guò)FastAPI構(gòu)建復(fù)雜的Web?API
FastAPI是一個(gè)現(xiàn)代的、快速(高性能)的Web框架,用于構(gòu)建API,這篇文章主要介紹了python如何通過(guò)FastAPI構(gòu)建復(fù)雜的Web?API,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-02-02