首頁 > 軟體

Python基本結構之判斷語句的用法詳解

2022-07-21 18:02:17

邏輯控制

邏輯控制其實也就是判斷,判斷是非常重要的,無論是哪一門語言。沒有判斷那都是不完整的語言。因此判斷是非常重要的。

使用③種基本結構就可以實現複雜演演算法,這其中就有迴圈、順序以及判斷。

在程式的設計當中,程式碼並不是逐步按照順序進行執行的,在執行到某一行程式碼當中,需要停下進行判斷接下來將要執行到那一個分支程式碼,這種判斷就代表的是分支結構。

分支結構是可以使用 if 語句來進行判斷的,而我們本篇部落格講的也是 if 語句。

在程式中可能會遇到需要回圈出現的情況,例如輸入100次Python,那麼此時就需要用到迴圈語句,我們不可能直接列印100次print,這個是極其沒有效率。所以,明顯是不能的。那麼此時就要用到 while、for、range 等。

Python中的邏輯流程控制還包括跳出breal、繼續continue、遍歷range等語句後面也會詳細介紹這些流程控制語句的。

數位邏輯條件

在正式開始之前來說說數學當中常用的邏輯條件,因為這些邏輯條件很多都會配合條件控制if 去使用。

等於:a == b

不等於:a != b

小於:a < b

小於等於:a <= b

大於:a > b

大於等於:a >= b

條件控制

條件控制語句在任何程式語言都是非常常用的。

流程圖如下↓

打個比方:就比方說你今天早上起來,昨天你學習了一整天,今天想要躺平,但是你看著別人都在那裡卷,你又想要學習一整天。此時的你非常的猶豫,你在面前看到了一枚硬幣,你就想要扔色子。正面數位是學習,反面❀就躺平。那麼在程式設計當中你就要用到判斷語句if了。

接下來來寫下Python語句當中 if 的表現形式,如下程式碼所示 

if 條件語句1:
    執行語句1
elif 條件語句:
    執行語句2
else:
    執行語句3

執行過程如下 

①→判斷條件語句 1 是否為 Ture(真),如果為 Ture 就執行語句塊1,其它的語句塊並不會執行。因此整個條件結構語句執行完畢。則繼續執行其它的語句,如果條件語句1為False(假),則判斷條件語句2是否為真。

②→如果判斷條件語句2為 Ture 就執行語句2,再執行其它語句,如果為假,則直接執行語句3,條件控制語句結束。

提示→冒號後面的語句塊何冒號所在的行的語句是要保持一個縮排的。

if - 用法 

Python 中的 if else 語句可以細分為三種形式,分別是 if 語句、if else 語句和 if elif else 語句。在上面我們已經介紹了 if elif else,接下來來介紹 if() 這個也是最簡單的判斷形式了。

流程圖如下↓

如果表示式成立(真),就執行後面的程式碼塊;如果表示式不成立(假),就什麼也不執行。那麼不能光說不練,那麼就來做一道題目練習下。選擇結構判斷使用者是否符合條件,範例程式碼如下↓

num = int(input('請輸入你的年齡:'))
if num < 18:
    print('你還不能去網咖!')
    print('年齡未滿18歲,才%d歲。'%num)
 
print('歡迎光臨!')

執行結果

請輸入你的年齡:14
你還不能去網咖!
年齡未滿18歲,才14歲。
歡迎光臨!

另一種情況的執行結果。

請輸入你的年齡:18
歡迎光臨!

張三此時就有疑問了,為什麼輸入14還會歡迎光臨呢。

那麼這種情況我們就要用到 if - else 或者 雙層 if 來解決了。

雙層 if 語句程式碼範例↓

num = int(input('請輸入你的年齡:'))
if num < 18:
    print('你還不能去網咖!')
    print('年齡未滿18歲,才%d歲。'%num)
if num >= 18:
    print('歡迎光臨!')

請輸入你的年齡:14
你還不能去網咖!
年齡未滿18歲,才14歲。

這裡使用雙層 if 語句是因為我們這裡有兩層的判斷:

張三滿18歲的情況。

張三未滿18歲的情況。

if - else 用法 

if - else 的表現形式,如下程式碼所示 

if 條件語句1:
    執行語句1
else:
    執行語句2

條件語句為真,執行語句1。

條件語句為假,執行語句2。

如果表示式成立,就執行 if 後面緊跟的程式碼塊1;如果表示式不成立,就執行 else 後面緊跟的程式碼塊2。

流程圖如下↓ 

下面舉出一個例子,輸入數位 判斷 number 是奇數還是偶數。如下程式碼所示

number = int(input('請輸入數位...'))
if number % 2 == 0:
    print('%d是偶數'%(number))
else:
    print('%d是奇數'%(number))

執行結果

請輸入數位...12
12是偶數。

請輸入數位...11
11是奇數。

那麼接著選擇結構判斷使用者是否符合條件我們用 if else 的方法解決。程式碼範例如下↓

num = int(input('請輸入你的年齡:'))
if num < 18:
    print('你還不能去網咖!')
    print('年齡未滿18歲,才%d歲。'%num)
else:
    print('歡迎光臨!')

執行結果

請輸入你的年齡:14
你還不能去網咖!
年齡未滿18歲,才14歲。

條件語句為真,執行語句1。不執行 else 語句內容。

if 巢狀 

在我們開發程式當中,會使用 if 進行條件語句的判斷,那麼假設我們希望在條件成立的執行語句中在增加條件判斷。這個時候就可以使用 if 語句的巢狀了。

if 的巢狀的應用場景就是:在之前條件滿足的情況下,再來額外的進行判斷。

if 的巢狀語法格式,除了縮排之外是沒有任何的區別的,語法格式如下所示↓

if 條件1:
    滿足條件1執行語句
    ...
    if 條件1基礎上的條件2:
        滿足條件2執行語句
        ...
    # 條件2不滿足情況
    else:
        條件2不滿足情況,執行的程式碼
 
# 條件1不滿足的情況
else:
    條件1不滿足的情況執行語句

這實際上就是在大的 if 語句 巢狀了一個小的 if 語句,上面這個多看下就理解了,有語言基礎的一遍就能懂了。都一樣的(@^0^) 

練習題→猜數位小遊戲

import random() 方法返回隨機生成的一個實數。建議要使用這裡面的東西放到起始行第一行。

rand(起始數,終止數);功能隨機生成數位 0~32767之間。

如下程式碼所示 

import random  # 生成隨機值
person = int(input('請輸入猜拳[0石頭,1剪刀,2布]:...'))
computer = random.randint(0,2)      # rand();功能隨機生成數位 0~32767之間
# 列印三種情況
# 人 贏了
if person == 0 and computer == 1:
    print('老鐵666')
    pass
elif person == 1 and computer == 2:
    print('老鐵666')
    pass
elif person == 2 and computer == 0:
    pass
    print('老鐵666')
    pass
# 平手
elif person == computer:
    print('下次一定')
    pass
# 輸了
else:
    print('不服再來')

執行時候的三種情況

贏了:老鐵666

平手:下次一定

輸了:不服再來

說明 

"表示式"可以是一個單一的值或者變數,也可以是由運運算元組成的複雜語句,形式不限,只要它能得到一個值就行。不管“表示式”的結果是什麼型別,if else 都能判斷它是否成立(真或者假)。

"程式碼塊"由具由相同縮排量的若干條語句組成。

if、elif、else 語句的最後都有冒號:不要忘記。 

到此這篇關於Python基本結構之判斷語句的用法詳解的文章就介紹到這了,更多相關Python判斷語句內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com