CH5 IF, else 條件判斷入門


*前言:

一般程式語言的撰寫是由上往下依序(sequential)執行,當需要應付不同的環境條件變化而時,因此我們就需要引入 if...else 條件判斷(conditional statements)的概念。


如果xxx就yyy:

if xxx:
#須加冒號,若xxx為TRUE,則執行yyy
   yyy 
#縮排成為一個程式區塊(code block),使用 tab 空4格(沒有規定要空4格,只要統一即可)

如果xxx就yyy否則就zzz:

if xxx:
   yyy
else:
   zzz

隨堂練習:if else 入門條件判斷
請實作一個可以讓使用者輸入(input())年紀並判斷是否可以投票的程式(記得轉成整數),印出是否可以投票結果。若使用者輸入大於等於 20 歲,則列印出 恭喜你可以投票!,否則則列印出 不好意思,你還不能投票喔!。

age = int(input('請輸入你的年齡'))
if age >20: 
  print('恭喜你可以投票!')
else:
  print('不好意思,你還不能投票喔!')

*Python 邏輯運算 : 用於同時判斷多種條件或是僅有一種條件滿足時就觸發執行區塊。

1.運算子(operator)
加減乘除(+、-、*、/),對...取餘數(%)等符號就是一種運算子。
2.邏輯運算子
and(且):要所有條件同時成立才會是 True
...條件1 and 條件2 同時成立才會是true
or(或):只要有任何其中一個條件成立,即成立
...條件1 or 條件2 只要其中有一個成立就會成立
not(非):可得到放於條件前之相反結果

age = 17

print(age > 10 and age <= 20) # True
print(age > 10 or age < 7) # True
print(age > 10 and age < 1) # False
print(age > 20 or age < 1) # False

*巢狀條件判斷

有時候在條件A成立後,才會進行條件B的判斷。

巢狀條件判斷(若是年紀沒有超過 20 歲則不會執行到性別的判斷):

先判斷年齡 age 才會進入 gender 判斷(縮排代表先判斷年齡 age 才會進入 gender 判斷)

if age > 20:
   print('你已滿20')
   if gender == 'male':
      print('你是男性') 

 #完整程式碼(巢狀):
 age =  int(input('請你輸入你的年齡: ')
 gender = input('請輸入你的性別:  ')

 if age >=20:
    print('你已滿20歲')
    if gender == '男性'
        print('你是男性,執行到最後')

若使用者輸入 < 20 歲,但是男性,則巢狀不會印出你是男性!,因為第一個判斷不過,不會進到裡面。

#非巢狀程式碼(無論性別與年齡如何皆會進行兩個判斷):
if age > 20:
    print('你已經滿 20 歲了')
if gender == 'male':
    print('你是男性!')

隨堂練習:coupon 兌換碼兌換
你今天是一知名電商公司工程師,今天需要設定。請先設定一組兌換序號(coupon),序號為 coupon123,並提供使用者輸入兌換序號的提示,判斷兌換序號是否正確顯示:兌換序號錯誤或是兌換成功訊息。

coupon_code = 'coupon123'
user_input=input('請輸入兌換序號: ')
if user_input == coupon_code:
  print('兌換成功')
else:
  print('輸入錯誤')

*進階多重條件判斷

如果希望讓我們程式根據不同條件執行不同的區塊,還可以使用 if elif else,看起來更簡潔,更容易閱讀(多條件判斷,有些程式語言是 else if 這樣寫法,在 python中是 elif)。

if 條件_1:
    程式區塊_1
elif 條件_2:
    條件區塊_2
else:
    條件區塊_3

隨堂練習:偶數奇數判斷
讓使用者輸入一個大於 0 的數字(若使用者輸入等於則印出:請不要輸入零!若使用者輸入小於 0 則印出:請輸入一個大於 0 的數字!)。若使用者輸入大於 0 的整數則判斷是否為偶數,若是偶數則印出這是偶數,若是奇數則印出這是奇數!(小提示:可從是否可以讓 2 整除判斷是否為偶數)

input_num = int(input('請輸入大於0的整數: '))

if input_num ==0:
  print('請不要輸入等於0的數字')
elif input_num <0:
  print('請不要輸入小於0的數字')
else:
  if input_num%2 ==0:
    print('這是偶數')
  else:
    print('這是奇數')
#Python






你可能感興趣的文章

【Day01】ELK環境建置與介紹

【Day01】ELK環境建置與介紹

[FE201] SASS 結構化、模組化

[FE201] SASS 結構化、模組化

六角啟程

六角啟程






留言討論