天天看點

3. 無轉折不程式設計,滾雪球學 Python三、無轉折不程式設計

滾雪球學 Python,目标就是讓 Python 學起來之後,越滾越大。

三、無轉折不程式設計

如果程式都是從上到下按照順序執行,那程式會缺少很多的趣味與轉折性,并且會導緻程式的編寫枯燥無味,針對這種情況,為了實作某些效果,需要代碼實作轉折,這種轉折在程式中就是

流程控制

,從 A 可以到 B,也可以到 C。

在流程控制中,你将同步學到

關系運算符

邏輯運算符

本篇部落格内容較少,因為下一篇要講清單,那個知識點多,先學點簡單的鋪墊下。

3.1 關系運算符

在 Python 中關系運算符其實就是比大小的概念,是以要學習的就是大于、小于、等于等内容。

具體關系運算符如下:

關系運算符 含義
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于

如果結論為真,關系運算符運算之後傳回 True,反之為 False。

寫個代碼測試下:

a = 1 > 2
print(a) # False
b = 2 > 1
print(b) # True           

邏輯運算符符号左右兩邊可以是變量,也可以是任意值,結果傳回是布爾值資料類型。該知識點雖然小,但是非常重要。

3.2 邏輯運算符

邏輯運算符在 Python 中有 3 個,分别是

and

or

not

含有邏輯運算符的式子,最終傳回的結果也是布爾值。具體可以參照下述代碼:

a = (1 > 2) and (2 > 1)
print(a) # False

b = 2 > 1 or 1 < 2
print(b) # True           

第一個式子使用的是

and

邏輯運算符,左側為

1>2

,右側為

2>1

。對于該式子的結果最終擷取為 False。

這裡存在一個重要的點如下:

  • and

    運算符,需要左右都為 True,它最終的結果才為 True,否則都為 False。
  • or

    運算符,左右至少需要一個為 True,最終的結果才為 True。
  • not

    運算符簽好是一個取反操作,原式子為 False,取反之後為 True。

以上内容和關系運算符一樣,單純的看一遍意義不大,需要的是在代碼與案例中進行練習,才可以掌握。

3.3 程式設計中的轉折 - 流程控制

流程控制語句也叫做分支語句,是以大家在查找資料的時候,注意一下名字。

3.3.1 if 語句

首先你需要看一眼 if 語句的文法格式,有印象即可。

if (條件判斷):
    代碼塊           

含義是如果

條件判斷

最終的結果是 True,執行

代碼塊

内容,如果

條件判斷

最終結果是 False,不執行

代碼塊

内容。

在這裡你還要學習到 Python 的縮進方式,在 Python 中如何判斷代碼塊是 if 語句的代碼區塊,是依賴

Tab

鍵或者是

4個空格

進行判斷的。除此之外不要遺漏 if 所在行末尾有個冒号

:

存在哦~。

下面可以看一下實際代碼,例如,判斷一個人年紀超過 18 歲,輸出成年人的代碼如下:

age = 20
if (age >= 18):
    print("成年人")           

上述内容中 age = 20 ,确定大于 18,那麼 age>=18 傳回的結果為 True,就會執行 if 語句内部的代碼塊,而如何判斷一段代碼是否屬于 if 語句内部呢,就是通過縮進判斷的,具體如圖:

3. 無轉折不程式設計,滾雪球學 Python三、無轉折不程式設計

上圖紅框部分即為

Tab

縮進。縮進的即為 if 内部的代碼塊,最下面

print

if語句

無關。注意縮進的“距離”必須一緻,例如下圖在 Python 中将會出錯。

3. 無轉折不程式設計,滾雪球學 Python三、無轉折不程式設計

縮進是 Python 判斷代碼塊的重要依據,從 if 這裡你初次接觸到,後面會遍布 Python 整個學習生涯。

剛才代碼中 if 後面的空格可以省略,修改代碼如下:

age = 20
if age >= 18:
    print("成年人")
    print("我屬于上面的 if 語句")

print("我與if語句沒有關系")           

3.3.2 if ... else ... 語句

做為流程控制語句,隻要應該有兩種可能,一種為真,一種為假,才可以稱作有流程,否則從上到下執行就完事了。是以除了

if

語句以外,還有

else

語句,可以了解為當條件為真時執行 if 語句中的代碼塊内容,當條件為假時執行 else 語句代碼塊内容。

文法格式如下:

if (條件判斷):
    if 的代碼塊
else:
    else 的代碼塊           

完成一個小例子,當年齡大于等于 18 提示成年,小于 18 提示未成年。

age = int(input("請輸入你的年齡:"))
if age >= 18:
    print("成年人")
    print("我屬于上面的 if 語句")
else:
    print("未成年")
    print("我屬于上面的 else 語句")           

3.3.3 if ... elif ... else ... 語句

當流程控制出現多個可能性時,就需要用到 if ... elif ... else ... 語句了,文法格式如下:

if (條件判斷):
    if 代碼塊
elif (條件判斷):
    elif 代碼塊
else:
    else 代碼塊           

該内容最典型的就是根據成績計算 A、B、C...等級,不過咱不用這個例子,找一個新鮮的,計算 CSDN 作者稅收。

800 以内不交稅
800 到 4000 交總金額減去800 然後乘以20%
4000 到 20000 的,直接總金額的 16%           

代碼如下:

money = int(input("請輸入你的收入:"))

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("你掙得太多了,都扣了吧")
           

一定要注意,縮進、縮進、縮進都一樣。

3.3.4 if 語句的嵌套

該内容看到代碼可以很容易了解,說白了就是 if 語句套 if 語句,隻要你能注意好縮進,你可以無限循環下去,多說無用,模仿下述代碼,争取運作起來吧。

money = int(input("請輸入你的收入:"))

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("掙得超過一個億了")
    else:
        print("沒掙夠一個億")           

3.4 這篇部落格的總結

關系運算符與邏輯運算符會經常與 if 語句配合使用,知識點雖小,但是非常重要。if 語句整體難度不大,但是從本篇部落格開始你接觸到了 Python 中是依賴縮進進行代碼段控制的,這一點是一個非常小的支點,後續 Python 文法的風格都是以而生,同樣重要,這樣看來這篇部落格都重點啦。

最後一碗毒雞湯

好好學下去 每天都有新打擊O(∩_∩)O 哈哈~