首頁 > 軟體

python的語句結構你真的瞭解嗎

2022-02-16 10:00:42

一、程式的組織結構

任何簡單的或者複雜的演演算法都可以由順序結構、選擇結構和迴圈結構這三種基本結構組合而成

二、順序結構

程式從上到下順序地執行程式碼,中間沒有任何的判斷和跳轉,直到程式結束

三、物件的布林值

Python一切皆物件,所有物件都有一個布林值

  • 獲取物件的布林值
  • 使用內建函數bool()
  • 以下物件布林值為False
print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(None))
print(bool(''))
print(bool(""))
print(bool([])) #空列表
print(bool(list())) #空列表
print(bool(())) #空元組
print(bool({})) #空字典
print(bool(dict())) #空字典
print(bool(set())) #空集合
print('------------其他物件的布林值均為True-----------------')
print(bool(18))
print(bool("0"))

輸出:

False
False
False
False
False
False
False
False
False
False
False
False
------------其他物件的布林值均為True-----------------
True
True

四、分支結構

選擇結構

程式根據判斷條件的布林值選擇性地執行部分程式碼

明確的讓計算機直到在什麼條件下,該去做什麼

單分支結構

中文語意:如果…就…

如果下雨,就帶傘

語法結構:

if 條件表示式:

​ 條件執行體

#判斷餘額是否充足
if money >=s:
    money=money-s
    print('取款成功,餘額為:',money)

輸入100,輸出

請輸入取款金額:100
取款成功,餘額為: 900

輸入1200, 不繼續執行

雙分支結構

中文語意:

如果…不滿足…就…

如果中獎就領獎,沒中獎就不領

語法結構:

if 條件表示式:

​ 條件執行體1

else:

​ 條件執行體2

#雙分支結構if...else... 二選一執行
num=int(input('請輸入一個整數:'))
#條件判斷
if num%2==0:
    print(num,'是偶數')
else:
    print(num,'是奇數')

輸入9,輸出

請輸入一個整數:9
9 是奇數

輸入10,輸出:

請輸入一個整數:10
10 是偶數

多分支結構

中文語意

成績是90以上嗎? 不是

成績是80到90分之間嗎?不是

成績是70到80分之間嗎?不是

成績是60到70分之間嗎?不是

成績是60分以下嗎?是

語法結構:

if 條件表示式1:

​ 條件執行體1

elif 條件表示式2:

​ 條件執行體2

elif 條件表示式N:

​ 條件執行體N

[else:]

​ 條件執行體N+1

方括號表示可寫可不寫

程式碼範例:

'''
多分支結構,多選一執行
90-100 A
80-89  B
70-79  C
60-69  D
0 -59  E
小於0或者大於100為非法數值
'''
score= int(input('請輸入一個分數:'))
#判斷
if score >=90 and score <=100:
    print('A級')
elif score >=80 and score <= 89:
    print('B級')
elif score >= 70 and score <= 79:
    print('C級')
elif score >=60 and score <= 69:
    print('D級')
elif score >=0 and score <=59:
    print('E級')
else:
    print('對不起,成績有誤,不在成績的有效範圍內')

請輸入一個分數:99
A級

請輸入一個分數:66
D級

請輸入一個分數:122
對不起,成績有誤,不在成績的有效範圍內

寫法改造

'''
多分支結構,多選一執行
90-100 A
80-89  B
70-79  C
60-69  D
0 -59  E
小於0或者大於100為非法數值
'''
score= int(input('請輸入一個分數:'))
#判斷
if 90 <=score <=100:
    print('A級')
elif  80<=score <= 89:
    print('B級')
elif 70<=score <= 79:
    print('C級')
elif 60<=score <= 69:
    print('D級')
elif 0<=score <=59:
    print('E級')
else:
    print('對不起,成績有誤,不在成績的有效範圍內')

輸出:

請輸入一個分數:100
A級

巢狀if

語法結構:

if 條件表示式1:

​ if 內層條件表示式:

​ 內層條件執行體1

​ else:

​ 內層條件執行體2

else:

​ 條件執行體

程式碼範例

'''
會員 >= 200 8折
    >= 100 9折
非會員 >= 9.5折
    不打折
'''
answer= input('您是會員嗎?y/n')
money=float(input('請輸入您的購物金額:'))
#外層判斷是否是會員
if answer=='y':
    if money>=200:
        print('打8折,付款金額為:',money*0.8)
    elif money>=100:
        print('打9折,付款金額為:',money*0.9)
    else:
        print('不打折,付款金額為:',money) #雖然是會員,但金額太小不打折
else: #非會員
    if money >=200:
        print('打9.5折,付款金額為:',money*0.95)
    else:
        print('不打折,付款金額為:',money)

輸出:

您是會員嗎?y/ny
請輸入您的購物金額:2000
打8折,付款金額為: 1600.0

您是會員嗎?y/ny
請輸入您的購物金額:100
打9折,付款金額為: 90.0

五、ass空語句

pass語句

#pass語句,什麼都不做,只是一個預留位置,用到需要寫語句的地方
answer = input('您是會員嗎?y/n')
#判斷是否為會員
if answer=='y':
    pass
else:
    pass

先佔位,後補全

利用物件的布林值

age = int(input('請輸入您的年齡:'))
if age: #不用判讀,直接利用物件的布林值
    print(age)
else:
    print('年齡為:',age)

輸出:

請輸入您的年齡:18
18

總結

本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注it145.com的更多內容!         


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