天天看點

python if elif 每個if有輸入變量_Python 條件語句(if..elif..else)

條件語句

一、if條件判斷

1.if條件判斷的基本形式

Python中,if語句用于控制程式的執行,基本形式為:

if 判斷條件:判斷條件可為:邏輯、成員運算、比較運算

(縮進) 執行語句........(當判斷的條件成立時,就會執行if内的語句)

else:(else後面沒有表達式)

(縮進)執行語句........(當if條件不成立,則會執行else内的語句)

"判斷條件"成立時(非零),則執行其後面的語句,執行内容可以是多行,可以縮進來區分表示同一個範圍

else   為可選語句   在if判斷條件不成立時,才會執行

縮進    遇到冒号就要縮進,這是文法,一個标椎的縮進等于四個空格,但是四個空格不等于一個tab鍵。Python中可以使用tab鍵,進行縮進,但是這種操作是不規範的,一般用的是4個空格

例子如下:(一個簡單的 if....else  判斷)

比較運算符的使用:

#根據輸入的年齡來判斷是否成年

my_age=int(input('請輸入你的年齡:')) #input輸入的資料類型為str

if my_age>=18:print('你已經成年')else:print('你還未成年')

輸出結果:

請輸入你的年齡:14你還未成年

成員運算符的使用:

#成員運算符和邏輯運算符的結合使用

my_str='蘋果、橘子、香蕉、梨、葡萄'

if ('蘋果' and '葡萄') inmy_str:print('蘋果和葡萄是我最喜歡的水果之一')else:print('水果清單中沒有我喜歡的水果')

輸出結果:

蘋果和葡萄是我最喜歡的水果之一

邏輯運算符的使用

#結合清單索引和比較運算符和邏輯運算符

a=[2,3,5,6]if (a[0]>a[1]) and a[1]>a[2]:print('清單中的前三個數字排列順序是由大到小排列')else:print('清單中的前三個數字排列順序是由小到大排列')

輸出結果:

清單中的前三個數字排列順序是由小到大排列

2. if....elif.....elif.....else....

在一個if表達式中,即一個完整的 if.....elif....elif.....else....中,如果運作了其中一個條件,其他分支條件就不會再運作了

總結:當其中一個條件滿足,其他的條件分支自動屏蔽,不會再運作

'''1、一家商場在降價促銷,所有原價都是整數(不需要考慮浮點情況),如果購買金額50-100元(包含50元和100元)之間,會給10%的折扣,

如果購買金額大于100元會給20%折扣。編寫一程式,詢問購買價格,再顯示出折扣(%10或

20%)和最終價格。'''

#先詢問購買的價格,再做接下來的判斷

price=int(input('請輸入你的購買價格:'))if 50<=price<=100:#Discount享受的折扣價

Discount = price * 0.1

print('您将享受10%的折扣')print('您最終支付金額為:{}'.format(price -Discount))elif price>100:#Discount享受的折扣價

Discount = price * 0.2

print('您将享受20%的折扣')print('您最終支付金額為:{}'.format(price -Discount))else:print('您目前的不享受任何優惠')

'''2 判斷是否為閏年

提示:

輸入一個有效的年份(如:2019),判斷是否為閏年(不需要考慮非數字的情況)

如果是閏年,則列印“2019年是閏年”;否則列印“2019年不是閏年”

什麼是閏年,請自行了解(需求文檔沒有解釋)'''

'''閏年分為:普通閏年和世紀閏年

普通閏年:公曆年份是4的倍數的,且不是100的倍數,為普通閏年。(如2004年就是閏年);

世紀閏年:公曆年份是整百數的,必須是400的倍數才是世紀閏年(如1900年不是世紀閏年,2000年是世紀閏年);'''year=int(input('請輸入一個有效的年份(如:2020):'))'''普通閏年:年份是4的倍數,且不是100的倍數

世紀閏年:必須是400的倍數

普通閏年的計算方法,能被4整除但不被100整除,year % 4==0 and year % 100!=0

世紀閏年的計算方法,能被400整除,year % 400==0'''

if year % 4==0 and year % 100!=0:print('{}年是普通閏年'.format(year))elif year % 400==0:print('{}年是世紀閏年'.format(year))else:print('{}年不是閏年'.format(year))

3.if後面最關心的是什麼?     判斷條件語句是為真還是為假(也就是,是True還是False)

形式:if a:(其中隐含有bool(a),是True還是False)

if not a: 用來判斷某個變量是否為空,是否存在(實際使用過程中,使用的非常多的判斷條件)

a是None、0、[]、{}、().......等都為False   也就等同于if  False:,也就是條件不成立,不會執行if條件下的語句,而是執行else下的語句

a是非空類型,也就是等同于 if  True:,也就是條件成立,直接執行if下的語句。(不會再去處理else下的語句)

條件語句為True

ifTrue:print('我是對的')else:print('你是最厲害的')

輸出結果:

我是對的

條件語句為False

ifFalse:print('你是對的')else:print('我是最厲害的')

輸出結果:

我是最厲害的

4.else是可選擇語句  在判斷條件不成立時,執行相關語句

else不是必備的,在條件判斷中,加不加else,可以根據自己實際的業務邏輯進行使用。

5.if的嵌套使用

Python在運作一個檔案時,會檢視所有頂格寫的代碼。一個完整的if表達式隻會看某一個滿足條件的語句

'''3.求三個整數中的最大值

提示:定義 3 個變量'''

#先自定義3個變量并指派

num1=6num2=10num3=20

if num1>num2:if num1>num3:print('最大值為:{}'.format(num1))else:if num2>num3:print('最大值為:{}'.format(num2))else:print('最大值為:{}'.format(num3))

輸出結果:

最大值為:20

6.工作中使用最多的結構:if......if ......if .....else

if 1:pass

if 2:pass

if 3:pass

else:print('hello') #else是最後一個if成對的