滾雪球?qū)W Python,目標(biāo)就是讓 Python 學(xué)起來之后,越滾越大。
三、無轉(zhuǎn)折不編程
如果程序都是從上到下按照順序執(zhí)行,那程序會(huì)缺少很多的趣味與轉(zhuǎn)折性,并且會(huì)導(dǎo)致程序的編寫枯燥無味,針對(duì)這種情況,為了實(shí)現(xiàn)某些效果,需要代碼實(shí)現(xiàn)轉(zhuǎn)折,這種轉(zhuǎn)折在程序中就是 流程控制
,從 A 可以到 B,也可以到 C。
在流程控制中,你將同步學(xué)到 關(guān)系運(yùn)算符
與 邏輯運(yùn)算符
。
本篇博客內(nèi)容較少,因?yàn)橄乱黄v列表,那個(gè)知識(shí)點(diǎn)多,先學(xué)點(diǎn)簡(jiǎn)單的鋪墊下。
3.1 關(guān)系運(yùn)算符
在 Python 中關(guān)系運(yùn)算符其實(shí)就是比大小的概念,所以要學(xué)習(xí)的就是大于、小于、等于等內(nèi)容。
具體關(guān)系運(yùn)算符如下:
關(guān)系運(yùn)算符 | 含義 |
---|---|
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
如果結(jié)論為真,關(guān)系運(yùn)算符運(yùn)算之后返回 True,反之為 False。
寫個(gè)代碼測(cè)試下:
a = 1 > 2print(a) # Falseb = 2 > 1print(b) # True
邏輯運(yùn)算符符號(hào)左右兩邊可以是變量,也可以是任意值,結(jié)果返回是布爾值數(shù)據(jù)類型。該知識(shí)點(diǎn)雖然小,但是非常重要。
3.2 邏輯運(yùn)算符
邏輯運(yùn)算符在 Python 中有 3 個(gè),分別是 and
、or
、not
。
含有邏輯運(yùn)算符的式子,最終返回的結(jié)果也是布爾值。具體可以參照下述代碼:
a = (1 > 2) and (2 > 1)print(a) # Falseb = 2 > 1 or 1 < 2print(b) # True
第一個(gè)式子使用的是and
邏輯運(yùn)算符,左側(cè)為 1>2
,右側(cè)為 2>1
。對(duì)于該式子的結(jié)果最終獲取為 False。
這里存在一個(gè)重要的點(diǎn)如下:
and
運(yùn)算符,需要左右都為 True,它最終的結(jié)果才為 True,否則都為 False。or
運(yùn)算符,左右至少需要一個(gè)為 True,最終的結(jié)果才為 True。not
運(yùn)算符簽好是一個(gè)取反操作,原式子為 False,取反之后為 True。
以上內(nèi)容和關(guān)系運(yùn)算符一樣,單純的看一遍意義不大,需要的是在代碼與案例中進(jìn)行練習(xí),才可以掌握。
3.3 編程中的轉(zhuǎn)折 - 流程控制
流程控制語句也叫做分支語句,所以大家在查找資料的時(shí)候,注意一下名字。
3.3.1 if 語句
首先你需要看一眼 if 語句的語法格式,有印象即可。
if (條件判斷): 代碼塊
含義是如果 條件判斷
最終的結(jié)果是 True,執(zhí)行 代碼塊
內(nèi)容,如果 條件判斷
最終結(jié)果是 False,不執(zhí)行 代碼塊
內(nèi)容。
在這里你還要學(xué)習(xí)到 Python 的縮進(jìn)方式,在 Python 中如何判斷代碼塊是 if 語句的代碼區(qū)塊,是依賴 Tab
鍵或者是 4個(gè)空格
進(jìn)行判斷的。除此之外不要遺漏 if 所在行末尾有個(gè)冒號(hào) :
存在哦~。
下面可以看一下實(shí)際代碼,例如,判斷一個(gè)人年紀(jì)超過 18 歲,輸出成年人的代碼如下:
age = 20if (age >= 18): print("成年人")
上述內(nèi)容中 age = 20 ,確定大于 18,那么 age>=18 返回的結(jié)果為 True,就會(huì)執(zhí)行 if 語句內(nèi)部的代碼塊,而如何判斷一段代碼是否屬于 if 語句內(nèi)部呢,就是通過縮進(jìn)判斷的,具體如圖:
上圖紅框部分即為 Tab
縮進(jìn)??s進(jìn)的即為 if 內(nèi)部的代碼塊,最下面 print
與 if語句
無關(guān)。注意縮進(jìn)的“距離”必須一致,例如下圖在 Python 中將會(huì)出錯(cuò)。
縮進(jìn)是 Python 判斷代碼塊的重要依據(jù),從 if 這里你初次接觸到,后面會(huì)遍布 Python 整個(gè)學(xué)習(xí)生涯。
剛才代碼中 if 后面的空格可以省略,修改代碼如下:
age = 20if age >= 18: print("成年人") print("我屬于上面的 if 語句")print("我與if語句沒有關(guān)系")
3.3.2 if ... else ... 語句
做為流程控制語句,只要應(yīng)該有兩種可能,一種為真,一種為假,才可以稱作有流程,否則從上到下執(zhí)行就完事了。所以除了 if
語句以外,還有 else
語句,可以理解為當(dāng)條件為真時(shí)執(zhí)行 if 語句中的代碼塊內(nèi)容,當(dāng)條件為假時(shí)執(zhí)行 else 語句代碼塊內(nèi)容。
語法格式如下:
if (條件判斷): if 的代碼塊else: else 的代碼塊
完成一個(gè)小例子,當(dāng)年齡大于等于 18 提示成年,小于 18 提示未成年。
age = int(input("請(qǐng)輸入你的年齡:"))if age >= 18: print("成年人") print("我屬于上面的 if 語句")else: print("未成年") print("我屬于上面的 else 語句")
3.3.3 if ... elif ... else ... 語句
當(dāng)流程控制出現(xiàn)多個(gè)可能性時(shí),就需要用到 if ... elif ... else ... 語句了,語法格式如下:
if (條件判斷): if 代碼塊elif (條件判斷): elif 代碼塊else: else 代碼塊
該內(nèi)容最典型的就是根據(jù)成績(jī)計(jì)算 A、B、C...等級(jí),不過咱不用這個(gè)例子,找一個(gè)新鮮的,計(jì)算 CSDN 作者稅收。
800 以內(nèi)不交稅800 到 4000 交總金額減去800 然后乘以20%4000 到 20000 的,直接總金額的 16%
代碼如下:
money = int(input("請(qǐng)輸入你的收入:"))if money <= 800: print("不用交稅")elif money > 800 and money <=4000: print("交稅金額為:",(money-800)*0.2)elif money>4000 and money<20000: print("交稅金額為:", money * 0.16)else: print("你掙得太多了,都扣了吧")
一定要注意,縮進(jìn)、縮進(jìn)、縮進(jìn)都一樣。
3.3.4 if 語句的嵌套
該內(nèi)容看到代碼可以很容易理解,說白了就是 if 語句套 if 語句,只要你能注意好縮進(jìn),你可以無限循環(huán)下去,多說無用,模仿下述代碼,爭(zhēng)取運(yùn)行起來吧。
money = int(input("請(qǐng)輸入你的收入:"))if money <= 800: print("不用交稅") if money > 0: print("竟然掙到錢了") else: print("賠錢了")elif money > 800 and money <=4000: print("交稅金額為:",(money-800)*0.2)elif money>4000 and money<20000: print("交稅金額為:", money * 0.16)else: if money > 100000000: print("掙得超過一個(gè)億了") else: print("沒掙夠一個(gè)億")
3.4 這篇博客的總結(jié)
關(guān)系運(yùn)算符與邏輯運(yùn)算符會(huì)經(jīng)常與 if 語句配合使用,知識(shí)點(diǎn)雖小,但是非常重要。if 語句整體難度不大,但是從本篇博客開始你接觸到了 Python 中是依賴縮進(jìn)進(jìn)行代碼段控制的,這一點(diǎn)是一個(gè)非常小的支點(diǎn),后續(xù) Python 語法的風(fēng)格都因此而生,同樣重要,這樣看來這篇博客都重點(diǎn)啦。
最后一碗毒雞湯
好好學(xué)下去 每天都有新打擊O(∩_∩)O 哈哈~