【Python學習分享文章】_if(條件語句)_logicalJudgement介紹及基本操作
綜述
計算機的“條件語句”和生活中的“條件成立”是不一樣的。
一個生活中的例子如果被計算機執行則是如下段子:老婆讓程序員老公去買蘋果,說:“去水果店買5個蘋果,如果碰到賣西瓜的就買一個。”
然后后來老公碰到了賣西瓜的,回來就只買了1個蘋果。
也就是說,計算機的條件永遠以“前提條件”為判斷,執行的也是給定的操作,而想生活中一些操作是被隱藏的,上述例子轉化為類似程序的表達就是如果碰到買西瓜的就再多買一個西瓜,蘋果數量不變。
if語句 整體框架
if 判斷的真假的判斷句,常見為大于、等于等:
如果判斷為“真”則執行這里的代碼
elif 如果上述為“假”,則判斷這里的“真假”情況:
如果上述判斷為“真”則執行這里的代碼
else:
如果前面所有的判斷都不成立,則執行這里編寫的代碼
注釋1:上面的“:”為英文的符號,是語句的必要成分,缺省則會報錯。
注釋2:elif 可以有很多,也可以沒有;else 可以沒有,如果沒有,if 、 elif 判斷均為“假”,則條件語句什么都不執行
翻譯成中文的意思就是:
判斷 if 里面的條件是否為真:
如果是“真”,則執行條件語句結束,后面的不會執行;
如果為“假”,此處不執行,向下執行;
如果后面沒有內容了,則也結束 if語句
判斷 elif 里面的條件是否為真:
內容和上面一樣
else:
如果上面的判斷語句都不成立,則最后確定執行這里的代碼,這里執行完,這一個 if語句 就真的全部結束了。
例子
例子1:
【重點!】:判斷是夠相等,不是數學里面的“=”(計算機里面是“賦值”的意思),而是“==”,因為不能用“=”了的緣故,別問為什么,記住就好。
x = 'abc'
if x == 'abc': # 這里的結果為 True,所以執行下面的輸出命令
print("x的內容和判斷的內容相同")
# the result is:
x的內容和判斷的內容相同
例子2:
多個判斷分支:
a_list = ['123', 'abc']
a = 'ab'
if a==a_list[0]: # ‘ab’ 和 ‘123’ 是不同的字符數據,判斷為 False,不執行
print("a 是 list 里面的第一個內容")
elif a==a_list[1]: # ‘ab’ 和 ‘abc’ 是不同的字符數據,判斷為 False,不執行
print("a 是 list 里面的第二個內容")
else: # 上述都沒有執行,則執行這里的內容
print("list 里面不存在 a 代表的內容")
# 其實上述可以直接用 in 的判斷語句即可一步搞定,但是為了說明 if語句,所以繁瑣化了。
# the result is:
list 里面不存在 a 代表的內容
例子3:
一個簡單的demo:
# 記錄生肖,根據年份來判斷生肖,輸出對應生肖的“想表達的內容”
chinese_zodiac = '猴雞狗豬鼠牛虎兔龍蛇馬羊' # 固定的生肖字符串,因為 0年 并不是鼠年,所以順序改變了
year = int(input('輸入出生年份:')) # 增加 int() 是因為輸入的數據會當作 str 數據,str 數據是不能用來計算的
if chinese_zodiac[year % 12] == '雞':
print("雞年的運勢是什么什么內容,這里實在不想編下去了,不信這個")
else:
print("此程序暫時只能給出雞年的運勢,其他的生肖暫時無法解決")
# the result is:
輸入出生年份:2018
此程序暫時只能給出雞年的運勢,其他的生肖暫時無法解決
注:
個人微信公眾號:codeAndWrite