ifelse的寫法
範例裡面有一行 "if result: "
但是沒有提到true/ false這類的判斷式,想請問python的if是預設true嗎?就是如果條件是希望回傳的答案是true就可以省略不寫?
回答列表
-
2020/03/22 上午 00:52張維元 (WeiYuan)贊同數:0不贊同數:0留言數:3
嗨,素芳
if-else 的用法應該長這樣:
```
if 條件:
程式碼
else:
程式碼
```
這邊的條件,最終都會被轉成 True 或是 False,條件中可以放一個比較運算,也可以直接放 True 或是 False。
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃
-
2020/03/28 下午 04:24張維元 (WeiYuan)贊同數:0不贊同數:0留言數:0
「對,所以我的問題是為甚麼範例程式碼只寫"if result:"就結束了 而不是if result==True:」
這裡我再補充一些內容好了,程式的執行是「由上而下,由右而左,由內而外」,以這行程式來說:
```
if result==True:
```
他在運作的時候其實是先執行 result==True 變成:
```
if True:
```
才繼續往下執行的。這也是我為什麼會說 if 後面本來就是放一個「布林的值」做為判斷用。
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃
-
2020/03/28 下午 04:28張維元 (WeiYuan)贊同數:1不贊同數:0留言數:0
所以 if 後面一般可以接三種東西:
if a == b => 某一種條件判斷
if True / if False => True of False 的布林值
if a => 直接放某一種物件
a == b 或 True/ False 很明顯都是布林值,可以直接作為 if 的判斷條件,但第三種如果 a 是一種 list 或是 dict 的物件的話,那 if 是如何判斷的呢?實際上 if 的操作會變成這樣:if bool(a) 強制轉為布林值。這裡附上一個 true of false 的對照表參考:
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃