摘要:大家好,在我們上一篇復(fù)習(xí)了的基礎(chǔ)和實(shí)用技巧后,今天我們來(lái)看一下里的邏輯關(guān)系,所謂邏輯關(guān)系無(wú)非就是如果就否則之類(lèi)的,不是非常復(fù)雜,我的意思是復(fù)雜的地方不用目前了解,因?yàn)橐呀?jīng)超出了小白的水準(zhǔn),哈哈,閑話少說(shuō),讓我們一起來(lái)看看吧什么是里面用的形
大家好,在我們上一篇復(fù)習(xí)了dict的基礎(chǔ)和實(shí)用技巧后,今天我們來(lái)看一下Python里的邏輯關(guān)系,所謂邏輯關(guān)系無(wú)非就是如果...就...否則...之類(lèi)的,不是非常復(fù)雜,我的意思是復(fù)雜的地方不用目前了解,因?yàn)橐呀?jīng)超出了小白的水準(zhǔn),哈哈,閑話少說(shuō),讓我們一起來(lái)看看吧~
什么是ifPython里面用if-else的形式
if: #如果滿足什么條件 #就執(zhí)行什么步驟
注意有兩點(diǎn):
if 后面的判斷結(jié)果就是True和False兩種類(lèi)型,如果True,將執(zhí)行statement的步驟1
statement那里一定有縮進(jìn),寫(xiě)在if條件里面
讓我們拿實(shí)際的情況看看具體是什么意思:
x = 0 y = 5 if x < y: # True print("yes") if y < x: # False print("yes") if x: # Falsy print("yes") if y: # Truthy print("yes") if x or y: # Truthy print("yes") if x and y: # Falsy print("yes") if "aul" in "grault": # Truthy print("yes") if "quux" in ["foo", "bar", "baz"]: # Falsy print("yes")
我給大家解釋一個(gè)可能產(chǎn)生的疑問(wèn),就是如下這個(gè)條件式:
if x: # Falsy print("yes")
這里為什么是錯(cuò)誤的呢,因?yàn)楹芎?jiǎn)單,在Python里默認(rèn)1就是True,0就是False,這里x的值正好是0,和ython默認(rèn)的規(guī)定的一樣,所以這個(gè)判斷也是錯(cuò)的,大家明白了吧~
滿足if條件后有多個(gè)statements執(zhí)行
用大白話講就是說(shuō)如果滿足了if的條件,那么你有很多事情想依次執(zhí)行,而且在做完這些事情后完成了條件,開(kāi)始下一項(xiàng)任務(wù),那么這種情況下調(diào)用形式如下圖:
if: ...
感覺(jué)還是圖片比較容易理解哈哈~ 讓我們來(lái)看一個(gè)真實(shí)的例子:
if "foo" in ["bar", "baz", "qux"]: print("Expression was true") print("Executing statement in suite") print("...") print("Done.") print("After conditional")
這段代碼完美的展示了圖片中講解的內(nèi)容,大家可以猜猜結(jié)果,這段代碼執(zhí)行后會(huì)輸出什么。
現(xiàn)在公布答案:
After conditional
簡(jiǎn)單說(shuō)一下,很簡(jiǎn)單,我們想要看看"foo" 這個(gè)字符串是否在數(shù)組["bar", "baz", "qux"]里面,如果在,一次執(zhí)行底下的縮進(jìn)的4個(gè)print方法,如果不在,跳出if,繼續(xù)該干什么干什么,所以顯然易見(jiàn)"foo"不在數(shù)組里,因此直接執(zhí)行最后的print("After conditional")
多個(gè)if在一起
大家看一下下面的代碼,如果你預(yù)想的輸出結(jié)果和實(shí)際的一樣,那恭喜你已經(jīng)徹底明白if是什么東西了
# Does line execute? Yes No # --- -- if "foo" in ["foo", "bar", "baz"]: # x print("Outer condition is true") # x if 10 > 20: # x print("Inner condition 1") # x print("Between inner conditions") # x if 10 < 20: # x print("Inner condition 2") # x print("End of outer condition") # x print("After outer condition") # x
輸出結(jié)果為:
Outer condition is true Between inner conditions Inner condition 2 End of outer condition After outer conditionif else
在Python中使用if else 的表達(dá)模板如下:
if: else:
大家想必很容易看懂,現(xiàn)在舉個(gè)栗子:
x = 20 if x < 50: print("(first suite)") print("x is small") else: print("(second suite)") print("x is large")
輸出結(jié)果為:
(first suite) x is small
很容易理解了,如果滿足if條件如何,else否則怎么怎么樣
if,elif ,else讓我們來(lái)看最后一種情況,也很好弄懂,elif的意思就是else if 的縮寫(xiě)而已,表達(dá)模式如下:
if: elif : elif : ... else:
看一個(gè)具體實(shí)例:
name = "Joe" if name == "Fred": print("Hello Fred") elif name == "Xander": print("Hello Xander") elif name == "Joe": print("Hello Joe") elif name == "Arnold": print("Hello Arnold") else: print("I don"t know who you are!")
輸出結(jié)果為:
Hello Joe
總而言之就是如果不滿足第一個(gè)if條件,接著看是否滿足第二個(gè)if條件,然后是第三個(gè)...
if 寫(xiě)在一行里Python有一個(gè)好處就是它非常懶,很多東西它會(huì)自己想辦法減少代碼量,所以就出現(xiàn)了以下這種寫(xiě)法:
if: if : ; ; ...;
分別看兩個(gè)例子,第一個(gè)簡(jiǎn)單一些的:
if "f" in "foo": print("1"); print("2"); print("3") Out:1 2 3
稍微復(fù)雜一些的:
x = 2 if x == 1: print("foo"); print("bar"); print("baz") elif x == 2: print("qux"); print("quux") else: print("corge"); print("grault") Out: qux quux總結(jié)
基本的條件語(yǔ)句常見(jiàn)的就這幾種
個(gè)人建議不要寫(xiě)一行,還是拆成多行寫(xiě),這樣思路清晰
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/43102.html
摘要:基礎(chǔ)之控制結(jié)構(gòu)學(xué)習(xí)目標(biāo)代碼塊與縮進(jìn)條件語(yǔ)句語(yǔ)句語(yǔ)句的嵌套斷言循環(huán)循環(huán)循環(huán)中斷循環(huán)控制語(yǔ)句綜合嵌套列表解析式基礎(chǔ)相關(guān)鏈接學(xué)習(xí)目標(biāo)是簡(jiǎn)潔易學(xué)面向?qū)ο蟮木幊陶Z(yǔ)言。 Py...
摘要:在學(xué)習(xí)語(yǔ)句的時(shí)候,對(duì)編程的基礎(chǔ)知識(shí)了解的還不是很多,或許沒(méi)有做什么太復(fù)雜的東西。可以通過(guò)一個(gè)內(nèi)置函數(shù)來(lái)判斷一個(gè)條件的結(jié)果還是。有朋友需要看完整教程內(nèi)容,請(qǐng)點(diǎn)擊零基礎(chǔ)學(xué),這里會(huì)及時(shí)更新,并且有完整的目錄結(jié)構(gòu),更吸納了朋友們提出的意見(jiàn)和建議。 看官是否記得,在上一部分的時(shí)候,有一講專門(mén)介紹if語(yǔ)句的:從if開(kāi)始語(yǔ)句的征程。在學(xué)習(xí)if語(yǔ)句的時(shí)候,對(duì)python編程的基礎(chǔ)知識(shí)了解的還不是很多,...
摘要:獲取怎樣的數(shù)據(jù)在這里首先需要考慮,我們的四則運(yùn)算計(jì)算器的計(jì)算復(fù)雜度是如何的是僅能計(jì)算兩個(gè)數(shù)值的簡(jiǎn)單運(yùn)算,如還是能進(jìn)行混合四則運(yùn)算,如那么你想處理運(yùn)算的復(fù)雜程度就決定了你想獲取怎樣的數(shù)據(jù),這是很實(shí)際的問(wèn)題。 引言 在上一篇文章的介紹中,我們提及了Python的三種基本數(shù)據(jù)類(lèi)型,如文章末尾所說(shuō),Python中的內(nèi)建數(shù)據(jù)類(lèi)型并不僅僅是這幾種,但其實(shí)我從接觸Python到現(xiàn)在,往往就是這幾種簡(jiǎn)...
摘要:一般所有高級(jí)語(yǔ)言,都包含如下語(yǔ)句,也不例外循環(huán)語(yǔ)句容許一些語(yǔ)句反復(fù)運(yùn)行數(shù)次。條件語(yǔ)句容許僅當(dāng)某些條件成立時(shí)才運(yùn)行某個(gè)區(qū)塊。無(wú)條件分支語(yǔ)句容許運(yùn)行順序轉(zhuǎn)移到程序的其他部分之中。零基礎(chǔ)學(xué)我在上的文章,隨時(shí)更新修改。 一般編程的教材,都是要把所有的變量類(lèi)型講完,然后才講語(yǔ)句。這種講法,其實(shí)不符合學(xué)習(xí)的特點(diǎn)。學(xué)習(xí),就是要循序漸進(jìn)的。在這點(diǎn)上,我可以很吹一通了,因?yàn)槲易鲞^(guò)教師,研究教育教學(xué),算是...
摘要:判斷語(yǔ)句可以進(jìn)行多層嵌套判斷條件進(jìn)行判斷條件滿足之后執(zhí)行下方語(yǔ)句執(zhí)行語(yǔ)句判斷條件在滿足上述條件的基礎(chǔ)上進(jìn)行再次判斷執(zhí)行語(yǔ)句例子小龍蝦走起看看小馬的找小馬蹭小龍蝦,。小馬請(qǐng)不起,還是去肯饅頭吧。看看小馬的找小馬蹭小龍蝦,。 代碼執(zhí)行結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。 python判斷選擇結(jié)構(gòu)【if】 if 判斷條件 #進(jìn)行判斷條件滿足之后執(zhí)行下方語(yǔ)句 執(zhí)行語(yǔ)句 elif 判...
閱讀 3969·2021-11-23 10:09
閱讀 1338·2021-11-23 09:51
閱讀 2939·2021-11-23 09:51
閱讀 1585·2021-09-07 09:59
閱讀 2354·2019-08-30 15:55
閱讀 2292·2019-08-30 15:55
閱讀 2949·2019-08-30 15:52
閱讀 2560·2019-08-26 17:04