python实现三种以上判断条件_Python小课笔记--Python控制流:if逻辑判断
截圖來自Python小課
文|仟櫻雪
在Python小課-1-2-3節中,我們已經學習了基礎模塊--數據--數據類型(整數、字符串、浮點數),以及基礎模塊--變量,基礎模塊--函數(input函數、print函數,type函數,len函數,str函數,int函數,flost函數)。
本節開始學習控制流中的“條件判斷”
截圖來自Python小課
條件判斷,就是——“讓計算機在合適的情況下做合適的事。
計算機是一個超級聽話的仆人,堅決服從你的每一行指令。可它不會主動提出要幫你做什么事情,除非你把規則都制定好
Python小課--條件判斷的學習,主要是以女兒國國王的煩惱作為案例介紹。
1、煩惱1::如果今晚下雨,那就說明女王和唐三藏合適,可以在一起。
在Python中,實現:weather?=?input('請回答:今晚下雨or沒下雨')if?weather?==?'下雨':????print('女王和唐僧可以在一起。')
運行結果:
本地Python環境運行
說明:輸入了下雨的答案之后,會出現如上結果,如果輸入了“不下雨”,那程序就什么都不會執行。因為這不滿足下一行代碼的要求!
==,該符號表示【左右兩邊的內容相等】;
第1行代碼:用input() 函數請用戶輸入今晚下雨or沒下雨,并將結果賦值給weather(英文,天氣)。
第2行代碼:開始使用if語句,如果變量weather等于下雨。
第3行代碼:那就打印--女王和唐僧可以在一起。這是屬于if內部的語句,要縮進四個空格。
if語句的邏輯語法:if?...(條件):
...(做點兒什么)
...(做點兒什么)
...(if語句的外部命令)
(1)if 后面跟的是一個條件。當條件為真時,就執行內部縮進的命令(做點兒什么),數量不限;如果條件為假,不管,跳過if,去執行if語句的外部命令。
(2)注意了哈!if 的條件后面有一個英文的冒號【:】,很容易被漏掉;(做點兒什么)都屬于if內部的命令,所以要縮進4個空格。
(3)當if后面的條件為假時,不會一行一行向下執行了,而是跳過if的內部代碼,去執行if語句的外部代碼了。
2、煩惱2:今晚有月亮嗎?如果有,那就打印:女王和唐僧可以在一起。
在Python中,實現:weather?=?input('請回答:今晚有月亮or沒有月亮?')if?weather?==?'有月亮':????print('我和唐僧可以在一起。')
運行結果:請回答:今晚有月亮or沒有月亮?有月亮
我和唐僧可以在一起。
說明:輸入了有月亮的答案之后,會出現如上結果,如果輸入了“沒有月亮”,那程序就什么都不會執行。
3、煩惱3:如果唐僧接受了表白,很好,馬上舉行婚禮,全國放假;如果唐僧沒有答應的話,把唐僧軟禁起來,從長計議,畢竟唐僧所處的行政區域正是女王管轄的領土,大唐的皇帝也管不到這么遠。
在Python中,實現:answer?=?input('唐僧接受了表白嗎?請回答有or沒有?')if?answer?==?'有':????print('很好,馬上舉行婚禮,全國放假')else:????print('把唐僧軟禁起來,從長計議')
運行結果:唐僧接受了表白嗎?請回答有or沒有?沒有
把唐僧軟禁起來,從長計議
說明:輸入了"沒有"之后,會出現如上結果,如果輸入了“有”,則輸出“很好,馬上舉行婚禮,全國放假”。
此處多了一個【else:】這個單詞的意思是——否則、其他,還有兩個冒號。
if...else...的邏輯語法:if...(條件):
...(做點兒什么)
...(做點兒什么)else:
...(干點兒別的)
...(干點兒別的)
(1)if 后面跟的是一個條件,當條件為真時,執行 if 下面的(做點兒什么)命令,當條件為假時,跳到else: ,然后開始執行else: 下面的命令。
(2)if 下面的代碼要縮進四個空格,代表的是if內部的功能,所以要縮進。else下面的代碼同樣要縮進四個空格,代表的是else內部的功能。這都是為了方便我們看代碼。
(3)尤其要注意的是,if后面的條件后面要跟英文冒號【:】,還有else后面,也要跟英文冒號【:】。
截圖來自Python小課
練習1:
請用 if...else... 完成這樣一個程序:
0,請用戶輸入一個整數;
1,然后如果這個整數大于10,就打印(整數-20)的結果;
2,否則,就打印(整數+20)的結果
Python操作:a?=?int(input('請輸入一個整數:'))if?a?>?10:????print(a-20)else:????print(a+20)#第1行代碼:使用int()函數是為了讓字符串轉換為整數,這樣才能進行a-20和a+20的計算。#第2、3行代碼:如果這個整數大于10,就打印(a-20)的結果;否則,就跳到第四行代碼。#第4、5行代碼:當這個整數不滿足大于10的條件時,打印(a+20)的結果。
4、煩惱4:女王跟唐僧表白心跡之后,根據唐僧的反應情況,出具三種措施:
唐僧,明確接受,則成婚;明確拒絕,則軟禁;其他反應,容后再議。
在Python中,實現:a?=?input('''
唐僧的反應是什么?
1.明確接受
2.明確拒絕
3.其他反應
請輸入數字>
''')if?a?==?'1':
print('成婚')elif?a?==?'2':
print('軟禁')else:
print('容后再議')
運行結果:唐僧的反應是什么?
1.明確接受
2.明確拒絕
3.其他反應
請輸入數字>
3
容后再議
說明:輸入了3之后,會出現如上結果,如果輸入了“2”,則輸出“軟禁”’,輸入1,則輸出“成婚”。
又多了一個【elif】,【elif】其實是else if 的縮寫,代表否則如果。
第1-7行代碼,都是在獲取數據,即唐僧的選擇到底是哪個。三引號可以幫助字符串實現換行。
第8、9行代碼:如果變量 a 和 '1' 相等,即唐僧明確接受,那么就顯示--成婚。
第10、11行代碼:如果變量 a 和 '2' 相等,即唐僧明確拒絕,那么就顯示--軟禁。
第12、13行代碼:如果上面兩種都不是,即唐僧有其他反應,那么就顯示--容后再議。
這里有3種情況,所以使用了一次elif,如果有四種情況,可以使用兩次,這視代碼的實際情況而定。
elif的使用邏輯:if...(條件1):
...(做點兒什么)elif...(條件2):
...(做點兒其他的)elif...(條件3):
...(做點兒其他的)else(其他):
...(干點兒別的)
(1)if后面跟的是一個條件,當此條件為真時,執行if下面的(做點兒什么)命令,然后結束條件判斷;當條件為假時,跳到elif。
(2)elif后面跟的是另一個條件,當此條件為真時,執行elif下面(做點兒其他的)命令,然后結束條件判斷;當此條件為假時,跳到第二個elif:
(3)elif后面跟的又是一個條件,當此條件為真時,執行elif下面(做點兒其他的)命令,然后結束條件判斷;當此條件為假時,跳到else那里,去執行else下的命令。
******************警示:if的條件后面有冒號,elif的條件后面有冒號,else后面也有冒號。同樣的,if內部語句、elif內部語句,和else內部語句都是要縮進四個空格*************************************************
練習題1:
熊貓博物館的門票有三種,當游客的年齡小于 6 歲時,收5元;當游客的年齡大于等于6歲,而小于60歲時,收20元;當游客的年齡大于等于60歲時,不收費。請你寫出一個程序,當游客輸入自己的年齡后,可以打印出這位游客該收多少錢的門票。
Python實現:a?=?int(input('請輸入你的年齡:'))if?a?
說明:不同年齡段收不同的門票,其實是并列的三種情況,所以是比較適合使用if...elif...else的。
第1行代碼:是為了獲取游客的年齡信息,并把字符串的數據類型轉換為整數。
第2、3行代碼:小于6歲的游客,屬于游客中的第一區間,收費5元。如果是大于等于6歲的游客,跳到elif。
第4、5行代碼:在大于等于6歲的游客中,如果小于60歲,那么屬于第二區間,收費20元。在大于等于6歲的游客中,如果不滿足elif后面的條件,即大于等于60歲,跳到else。
第6、7行代碼:大于等于60歲的,屬于游客中的第三區間,不收費。
5、課后練習
(1)【背景】
最近,派大星想要減肥,他決定控制自己的飲食,少吃一點蟹黃堡。
海綿寶寶為了幫助好朋友派大星,和派大星一起制定了一個飲食游戲。
游戲規則如下:
如果派大星一天吃超過40個蟹黃堡,就要給海綿寶寶100塊;
如果派大星一天吃小于等于40個的蟹黃堡,海綿寶寶就給派大星100塊。
【題目】
請你寫出一段代碼:
當輸入派大星一天吃的蟹黃堡數量時,可以打印出這天該派大星給海綿寶寶錢,還是海綿寶寶給派大星錢。
Python操作:num=int(input('請問:您一天吃的蟹黃堡的數量:'))if?num?>40:????print('給海綿寶寶100元')else:????print('海綿寶寶需給您100元')
(2)【背景】
我知道,在許多時候,戀人是由朋友發展而成的。而這個過程,可以用代碼來做演示。
不信?聽我講。
首先判斷:兩人的關系是不是達到了【朋友之上,戀人未滿】?
如果不是,那么輸出:進度條還不夠,再等等。程序終結。
如果是,那么再判斷:你是不是想和對方有進一步的發展?
如果不是,那么輸出:還是做朋友吧。程序終結。
如果是,那么再判斷:對方是不是想有進一步的發展?
如果不是,那么輸出:恭喜獲得“好人卡”。
如果是,那么輸出:恭喜你們,有情人終成眷屬!
Python實現:#在許多時候,戀人是由朋友發展而成的,下面讓我們來做個戀愛告白測試:num1?=?input('請問:你們的關系目前是進入曖昧階段了嗎?請回答:是or不是?')if?num1?==?'不是':????????print('革命尚未成功,同志仍需努力啊!')elif?num1?==?'是':
num2?=?input('感情剛好,你希望你們的關系更進一步嗎?請回答:是or不是?')????????if?num2?==?'不是':????????????print('那就點到即止吧,朋友一生一起走~')????????elif?num2?==?'是':
num3?=?input('那TA呢,想再進一步嗎?請回答:想or不想??')????????????if?num3?==?'不想':????????????????print('恭喜你,獲得千年單身卡,好人一生平安!')????????????else:????????????????print('恭喜!有情人終成眷屬,命中注定在一起!')
(3)BMI指數是一個國際上常用的衡量人體胖瘦程度,以及是否健康的指數。
它的計算方式如下:
BMI = 體重 ÷(身高×身高)
比如一個體重50kg,身高160cm的人,BMI = 50 ÷(1.6*1.6)=19.5
對照BMI的表格:
截圖來自Python小課
Python語句實現:weight?=?float(input('請輸入您的體重(單位:kg):??'))
high?=?float(input('請輸入您的身高(單位:cm):??'))
BMI?=?weight?/?((high?/?100)?*?(high?/?100))if?BMI?
小結:
1、if的條件后面有冒號,elif的條件后面有冒號,else后面也有冒號;
2、if內部語句、elif內部語句,和else內部語句都是要縮進四個空格;
3、括號、冒號、單引號切記是英文狀態下的輸入;
4、相關數據類型的轉換嵌套設置。
作者:仟櫻雪
鏈接:https://www.jianshu.com/p/2322e66e251c
總結
以上是生活随笔為你收集整理的python实现三种以上判断条件_Python小课笔记--Python控制流:if逻辑判断的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信个性签名不显示出来
- 下一篇: python beautifulsoup