iT邦幫忙

2022 iThome 鐵人賽

DAY 9
0
自我挑戰組

從前端角度看30天學Python系列 第 9

【Day 9】條件判斷

  • 分享至 

  • xImage
  •  
  • if條件式
  • if...else
  • if...elif...else
  • 簡短的條件式寫法
  • 巢狀條件式

這篇文章是閱讀Asabeneh的30 Days Of Python: Day 9 - Conditionals後的學習筆記與心得。

if條件式

如果符合if的條件判斷,就換執行區域中的指令,跟JavaScript(以下簡稱JS)差不多,但條件可以不用括弧(),並且是用冒號:與縮排(四個空白),做為符合條件後執行指令的區隔:

forecast = "sunny"
if forecase == "sunny":
	print("Go hiking!")
# 'Go hiking!'

if...else

經過if的判斷如果不符合條件,就會執行else區域中的指令,還是跟JS差不多,但記得是用冒號及縮排:

forecast = "rainy"
if forecast == "sunny":
	print("Go hiking!")
else:
    print("Better stay home")
# 'Better stay home'

if...elif...else

經過if的判斷如果不符合條件,會再進入elif中的條件判斷,跟JS的差別在else if,變成了elif

forecast = "cloudy"
if forecast == "sunny":
	print("Go hiking!")
elif forecast == "cloudy":
	print("Bring an umbrella")
else:
    print("Better stay home")
# 'Bring an umbrella'

簡短的條件式寫法

上述提到的if...else,可以縮寫成code if condition else code的形式,像是JS的三元運算式

forecast = "cloudy"
print("Go hiking!") if forecast == "sunny" else print("Better stay home")
# 'Better stay home

巢狀條件式

if條件式中可以再做一個if條件式,更明確的說,要幾個都行,跟JS差不多:

input_string = input("Please enter a number among 1 to 100 step by 1: ")
input_value = int(input_string)

if input_value > 0:
    if input_value % 2 == 0:
        print("It is an even integer")
    else:
        print("It is an odd integer")
elif input_value == 0:
    print("It is a 0")
else:
    print("It is out of the rule")

可以透過結合and運算符來避免巢狀結構:

input_string = input("Please enter a number among 1 to 100 step by 1: ")
input_value = int(input_string)

if input_value > 0 and input_value % 2 == 0:
    print("It is an even integer")
elif input_value > 0 and input_value % 2 != 0:
    print("It is an odd integer")
elif input_value == 0:
    print("It is a 0")
else:
    print("It is out of the rule")

上一篇
【Day 8】 字典
下一篇
【Day 10】迴圈
系列文
從前端角度看30天學Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言