立即學習:https://edu.csdn.net/course/play/24797/282170?utm_source=blogtoedu
——深入if分支
——本節目標
1.if條件的類型 (重點)
2.if語句的邏輯錯誤 (重點、難點)
3.if表達式
——if條件的類型
—— if條件可以是任意類型,除了False本身之外,各種代表“空”的None、空字符串、空元組、空列表、空字典,都會被當成False處理,以下各值都會被當成False:
False、None、0、""、()、[]、{}
例如:
# coding: utf-8
####################################
# 文件名稱:if條件的類型.py
# 功能描述:深入if分支
# 編寫日期:2020-05-25
# 編寫人員:
####################################
s = 'fkjava'
if s :
print('s不是空')
#所有代表空的值,如0、''、[]、()、{}、None都會被當成False處理
s2 = ''
if s2 :
print('s2不是空')
——if條件的邏輯錯誤
——表面上看,else後沒有任何條件,或者elif後只有一個條件——但這不是真相:因爲else的含義是“否則”——else本身就是一個條件。
——這也是把if、else後代碼塊統稱爲條件執行體的原因,else的隱含條件是對前面條件取反。
例如:
# coding: utf-8
####################################
# 文件名稱:if的邏輯錯誤.py
# 功能描述:深入if分支
# 編寫日期:2020-05-25
# 編寫人員:
####################################
score = int(input("請輸入你的成績:"))
if score > 60:
print("及格")
# else有個隱藏條件,它是對前面條件取反,score <= 60 and score > 70
elif score > 70:
print("中等")
elif score > 80:
print("良好")
elif score > 90:
print("優秀")
正確的程序代碼如下:
# coding: utf-8
####################################
# 文件名稱:if正確的邏輯.py
# 功能描述:深入if分支
# 編寫日期:2020-05-25
# 編寫人員:
####################################
score = int(input("請輸入您的成績:"))
if score > 90:
print("優秀")
print("發獎金")
# 結合else的隱藏條件之後,實際的條件爲:80 < score <= 90
elif score > 80:
print("良好")
print("發獎狀")
# 結合else的隱藏條件之後,實際的條件爲:70 < score <= 80
elif score > 70:
print("中等")
print("還需努力")
elif score > 60:
print("剛好及格")
print("需要加把勁")
else:
print("不及格")
'''
當程序使用if elif時候,務必要先處理範圍小的條件!
如果先處理範圍大的條件,你的程序就會引發邏輯錯誤。
'''
——if表達式
if分支語句還可以作爲表達式,此時if表達式相當於代替其他語言中的三目運算符。
代碼示例:
# coding: utf-8
####################################
# 文件名稱:if表達式.py
# 功能描述:深入if分支
# 編寫日期:2020-05-25
# 編寫人員:
####################################
age = int(input("請輸入您的年齡:"))
print('您的年齡大於25') if age > 25 else (print('您的年齡小於25') if age < 25 else print('您的年齡等於25'))
——pass語句
——pass語句就是空語句。
——有時候程序需要佔一個位、放一條語句,但又不希望這條語句做任何事情,此時就可通過pass語句來實現了。
——通過使用pass語句,可以讓程序更完整。
例如:
# coding: utf-8
####################################
# 文件名稱:pass.py
# 功能描述:深入if分支
# 編寫日期:2020-05-25
# 編寫人員:
####################################
age = int(input("請輸入您的年齡:"))
if age > 25:
# pass 是一個空語句,啥也不幹,就是一個佔位符
pass
——本節小結
1.if條件可以是任意類型。
2.容易犯的邏輯錯誤:else本身就是條件。
3.if表達式。
4.pass語句。