歡迎大家來到Blue Monday!今天學校來了好多新生,看起來充滿幹!但是對研究生或助教來說...應該是噩夢的開始吧XDD
好了~扯遠了~
如果我說,這沒有結果...靜茹就不會難過
那我們若如果拿來學習,那是不是有一點強呢?
生活中有很多的如果,如果我再認真一點,我就可以上台大;如果我在帥一點,我就會有女朋友;如果我再胖一點,我就可以不用當兵...每個如果條件滿足的話,後面那件事情就會發生但通常不會XD
所以當設計程式的時候,只要滿足一些條件,則可以觸發某些動作,大致上可以寫成以下:
if (conditon stamente):
doing something...
elif (conditon stamente):
doing something...
else:
doing something...
然而在做條件敘述時我們會需要用到以下邏輯運算
符號 | 意思 |
---|---|
== |
等於 |
!= |
不等於 |
> |
大於 |
>= |
大於等於 |
< |
小於 |
<= |
小於等於 |
符號 | 意思 | 說明 |
---|---|---|
and 或者 & |
且 | and前後兩個條件要同時成立(True)時,此時才成立(True) |
or |
或 | or前後兩個條件只要一個成立(True),此時敘述就成立(True) |
not |
非 | 將判斷的邏輯相反,即原本為成立(True),經過not變不成立(False) |
我們可以用邏輯運算子將兩個條件敘述同時考慮,舉例來說:
a=4
b=5
c=a-b
print(a>0 and c<=0) #output:True
print(b<0 or c!=0) #output:True
print(b>0 and c==0) #output:False
print(not(a<0) and not(c>0)) #output:True
a='apple'
b='mac'
if a=='apple' and b=='mac':
print('I like Macbook.')
elif a=='apple' and b!='mac':
print('I just like Apple.')
else:
print('I do not like it.')
#output:I like Macbook.
由上例可知道,如果a是'apple'且b是'mac',則輸出'I like Macbook.';
如果a是'apple'且b不是'mac',則輸出'I just like Apple.';
其他的則輸出'I don't like it.'
所以在第一個if兩個條件式都是True即達到條件,因此輸出I like Macbook,在第二個條件判斷。
然而我們將第二個elif
改成
elif a=='apple' or b!='mac':
print('I just like Apple.')
此時,if
和elif
兩個條件判斷式都滿足,看起來應該要同時輸出'I like Macbook.'和'I just like Apple.',然而經過實際嘗試過後,會發現只有'I like Macbook.',是因為程式會從if
開始判斷,當if
條件False
,這時就會往下判斷elif
的條件或者輸出else
以下的操作。
換言之,如果現在將if
和elif
裡面的條件以及對應的輸出交換,這時候的結果就會變成'I just like Apple.'
更進階來說,當if
後的判斷式成立,下面的操作就會進行,而當判斷是只是一個變數,沒有更多的條件符號加入時,if
還是可以使用,且能順利觸發下面的操作就會進行!
K=[1,'2',(3,4)]
Q=[]
if Q:
print('I am Queen')
elif K:
print('I am King')
else:
print('I am Loser')
#output:'I am King'
好啦~今天就到這裡吧!
每週第一天就不要這麼累吧
但....你以為今天沒練習嗎~錯了!當然有啊!
Q. 如果有一個List:[1,2,3,4,5,6],如果要由左至右逐項移除,你會怎麼做呢?