資訊之芽 Python 語法班 2023/03/12
鄧人豪
print("Hello World")
aInteger = 100 aFloat = 123.456 aString = "Hello World" aBool = True print(type(aInteger)) # <class 'int'> print(type(aFloat)) # <class 'float'> print(type(aString)) # <class 'str'> print(type(aBool)) # <class 'bool'>
number = int(input("請輸入一個數字")) print(number)
x = 9 y = 3 print(x + y) # 12 print(x - y) # 6 print(x * y) # 27 print(x / y) # 3.0
<
, >
: 小於, 大於<=
, >=
: 小於等於, 大於等於==
, !=
: 等於, 不等於print(2 < 1) # False print(2 > 1) # True print(2 <= 1) # False print(2 >= 1) # True print(2 == 1) # False print(2 != 1) # True print(1 == 1) # True print(1 <= 1) # True print(1 >= 1) # True
=
與 ==
不一樣喔=
用來 指定 變數的值==
用來 比較 是否相等=
與 ==
不一樣x = 2 y = 3 print(x == y) # False print(x = y) # 3 print(x) # 3 print(y) # 3
x = 2 y = 3 bool1 = x == y bool2 = x = y print(bool1) # False print(bool2) # 3 print(x) # 3 print(y) # 3
==
與!=
例外)print(20 == "20") # False print(20 >= "20") # TypeError
print("abc" > "abd") # False print("22" > "111") # True
and
B: A 且 B
or
B: A 或 B
not
A: 非 A
A | B | A and B | A or B | not A |
---|---|---|---|---|
True | True | True | True | False |
True | False | False | True | False |
False | True | False | True | True |
False | False | False | False | True |
print(2 > 1 and 3 > 2) # True print(1 > 2 and 3 > 2) # False print(1 > 2 or 3 > 2) # True print(1 > 2 or 2 > 3) # False
print(not True and False or True or False) # True print(not((True and False) or (True or False))) # False
Operator Precedence: not > and > or
fee = 1000 age = int(input("請輸入你的年紀")) if age <= 8: # 如果年紀小於等於 8 歲 fee = fee * 0.1 # 遊樂園入場費打 1 折 print(fee)
注意:冒號與縮排(後面說明)
fee = 1000 age = int(input("請輸入你的年紀")) if age <= 8: # 如果年紀小於等於 8 歲 fee = fee * 0.1 # 遊樂園入場費打 1 折 if age <= 12: # 如果年紀小於等於 12 歲 fee = fee * 0.5 #只需要一半的入場費 print(fee)
fee = 1000 age = int(input("請輸入你的年紀")) if age <= 8: # 如果年紀小於等於 8 歲 fee = fee * 0.1 # 遊樂園入場費打 1 折 elif age <= 12: # 如果年紀小於等於 12 歲 fee = fee * 0.5 # 只需要一半的入場費 elif age >= 65: # 如果年紀大於等於 65 歲 fee = fee * 0.8 # 入場費打 8 折 else: # 如果都不符合則是全票 print("乖乖買全票吧~") print(fee)
score = int(input("請輸入你的成績")) if score >= 90: print("你獲得了 A+") elif score >= 85: print("你獲得了 A") elif score >= 80: print("你獲得了 A-") elif score >= 60: print("你至少及格了~") else: print("你被當了(´・ω・`)")
if 10 > 5: print("原來 10 大於 5 啊") # IndentationError 缺少縮排 print("End")
if 10 > 5: print("原來 10 大於 5 啊") print("End") # IndentationError 縮排的空白數不同
if 10 > 5 # SyntaxError 缺少冒號 print("原來 10 大於 5 啊") print("End")
if 10 > 5: print("原來 10 大於 5 啊") print("End")
同樣的縮排空白數代表在同個區塊中
範例1:
if 5 > 10: print("原來 5 大於 10 啊") print("End")
VS
if 5 > 10: print("原來 5 大於 10 啊") print("End")
範例2:
age = int(input("請輸入你的年紀")) if age >= 18: print("你成年了") if age >= 65: print("你也老了...") else: print("你還沒成年")
VS
age = int(input("請輸入你的年紀")) if age >= 18: print("你成年了") if age >= 65: print("你也老了...") else: print("你還沒老")
錯誤範例
if 10 > 5: # 註解也不算程式碼喔
if 10 > 5: # 註解也不算程式碼喔 pass
a, b, c = 1, 2, 3 if c > b: if c > a: print("c is the biggest number")
a, b, c, d = 1, 2, 3, 4 if d > c: if d > b: if d > a: print("d is the biggest number")
a, b, c, d = 1, 2, 3, 4 if d > c and d > b and d > a: print("d is the biggest number")
a = 13 if a == 2 or a == 3 or a == 5 or a == 7 or a == 11 or a == 13 or a == 17 or a == 19 or a == 23 or a == 29: print("a 是 30 以內的質數") else: print("a 不是 30 以內的質數")
\
換行\
後必須直接換行,不可以有任何空白
a = 13 if a == 2 or a == 3 or a == 5 or \ a == 7 or a == 11 or a == 13 or \ a == 17 or a == 19 or a == 23 or \ a == 29: print("a 是 30 以內的質數") else: print("a 不是 30 以內的質數")
condition = False a = 0 if condition: a = 1 else: a = -1 print(a)
condition = False a = 1 if condition else -1 print(a)
# Constants defined to be false print(bool(False), bool(None)) # Zero of any numeric type print(bool(0), bool(0.0)) # Empty sequences and collections print(bool(''), bool(""), bool(()), bool([]), bool({}))
print(bool(True), bool(3), bool('abc'))
範例
a, b = 0, 3 if a: print(a) # 不會 print 0,因為 bool(0) 等於 False if b: print(b) # 會 print 3,因為 bool(3) 等於 True