if 布林型別:
如果布林型別==True,就做這裡面的事情
if是判斷式必備的:
# 基本的判斷式是由 if 構成
a = 61
if a>=60:
print ("及格")
及格
# 不符合條件,因此什麼都沒有印出
a = 58
if a>=60:
print ("及格")
# 如果希望處理判斷條件之外的狀況,可以用else
a = 58
if a>=60:
print ("及格")
else:
print ("不及格")
不及格
Python是靠「縮排」(四個空格),來斷定程式碼屬於那一個區塊。
if/else 後面記得要有冒號:
a = 11
b = 8
if a>b:
print("a={}|b={}".format(a,b))
print("a>b")
elif a<b:
print("a={},b={}".format(a,b))
print("a<b")
else:
print("a={}、b={}".format(a,b))
print("a==b")
print ("這是判斷式外的區塊")
a=11|b=8 a>b 這是判斷式外的區塊
a = 11
b = 8
# 第1組判斷式
if a%2==0:
print("a is even")
# 第2組判斷式
if a>b:
print("a>b")
elif a<b:
print("a<b")
else:
print("a==b")
a>b
if
就是一組判斷式a = 11, b = 8
,a>b
」,不受到第1組判斷式任何結果的影響a = 6, b = 8
,a is even
」,a<b
」keyword = "我想吃飯"
if keyword=="我想吃飯":
print("建議你可以吃??")
elif keyword=="天氣如何":
print("今天的天氣...")
elif keyword=="7-11":
print("最近的7-11在oo")
else:
print("我聽不懂你在說什麼")
建議你可以吃??
如果有很多個條件,一個if不夠用,可以用elif,
一個elif不夠用,可以繼續用很多個elif
應該沒有看過Siri回答你今天天氣之後,又說我聽不懂你在說什麼吧?
cost = 1000
gift = ""
# 第1組判斷式
if cost>=500: # 滿500,送購物袋
gift = gift+"購物袋"
# 第2組判斷式
if cost>=1000: # 滿1000折100
cost = cost-100
print(cost)
print(gift)
900 購物袋
time = "2205"
if _____(time) > _____("2200"):
_____
_____
如果現在還要加進判斷凌晨5點之前也說同樣的話呢?
if
/ elif
or
[a,b,c] | 字串轉換、串列、tuple、字典、集合 |
x[index], x[i1:i2], x(parameter), x.attr | 索引、切片、函式呼叫、存取屬性項 |
** | 次方 |
+x, -x, ~x | 正數、負數、位元NOT運算 |
*, /, //, % | 乘法、除法、餘數、字串格式化 |
+, - | 加法、減法 |
>>, << | 位元位移運算 |
& | 位元AND運算 |
^ | 位元XOR運算 |
| | 位元OR運算 |
in, is, <, ==, > | 比較運算 |
not x | 布林NOT邏輯運算 |
and | 布林AND邏輯運算 |
or | 布林OR邏輯運算 |
if/else | 條件運算式 |
lambda | lambda運算式 |
print(3+5*4-8/2)
19.0
a=5
b=5
c=2
# (c==3) or (a==b and (not a==3)) or (b==4)
if c==3 or a==b and not a==3 or b==4:
print ("1")
else:
print ("2")
1
可以用()來方便閱讀,也能確保自己的想法是正確的
(c==3) or (a==b and (not a==3)) or (b==4)
((c==3) or (a==b)) and ((not a==3) or (b==4))
year = 2060
if "西元年份可被400整除":
print("{}是閏年".format(year))
elif "西元年份可被4整除" or/and/not? "不能被100整除":
print("{}是閏年".format(year))
year = 2060
if ("西元年份可被400整除") or/and/not? ("西元年份可被4整除" or/and/not? "不能被100整除"):
print("{}是閏年".format(year))
台灣的選舉法令禁止各陣營及媒體在投票日前的一個星期內公佈民調結果,其中最重要的一個因素是要避免「棄保效應」。
所謂的「棄保效應」是指選民在得知自己所支持的候選人當選無望時,有可能會把票投給其他比較可能當選的人,以免浪費了自己的一票。
假設某選舉有三位候選人來競選一個職位,在「棄保效應」發揮到極致的情形下,所有民調第三名的候選人的支持者都會把票投民調第二名的候選人,也就是他們都會「棄三保二」。給你 A, B, C 三個候選人的支持者人數,請判斷誰會當選?(不考慮支持數一樣)
我們先試試,A,B 候選人的支持數都比 C 候選人低 (a+b<c
) 的情況:
a=3
b=4
c=5
if ____:
if ____:
print("a")
else:
print("b")
else:
print("c")
origin = 127
new = 0
if origin<=130:
new = ((origin-0)*(60-0)/(130-0))+0
elif origin>=200:
new = ((origin-200)*(100-85)/(255-200))+85
else:
new = ((origin-130)*(85-60)/(200-130))+60
print(int(new))
58
其實我們生活中每天也都在用到判斷式:要不要再賴床一下、等下晚餐要吃什麼...