Speed Run 那種,拿來給競程ㄉ
# CHAPTER 2
就是把我懶得分類的東西
都丟到這個子標題下
# PRESENTING CODE
# PRESENTING CODE
Light Attract Bugs
# PRESENTING CODE
# PRESENTING CODE
cd {directory}你要切到要執行程式的那層資料夾,電腦才找得到檔案
python {filename}# PRESENTING CODE
# PRESENTING CODE
讓你解題的地方,丟扣上去,他會告訴你結果
# PRESENTING CODE
滿級更容易,天擇不掉人,台清交可能要漲分數了,我是不理解
# CHAPTER 2
python 的 i/o 和自動偵測變數很強 ...
甚至有點太強了
所以亂寫會壞掉
print("Hellooooooooooooooooooooooo World")
# 就,對,字面上的意思
# Python 的 print() 會自動換行
# 你可以在程式碼前面加米字號,變整行註解
"""
或是像這樣,用三個引號包起來
可以形成多行註解
註解在 Debug 時很好用
"""# PRESENTING CODE
print("Hellooooooooooooooooooooooo World", end = "")
# 所以你給他一個新的 end,取代掉默認值就好
# 這樣輸出的結果不會換行,後面不加空白# PRESENTING CODE
# PRESENTING CODE
| 變數類型 | 說明 | 例子 | 備註 |
|---|---|---|---|
| int | 整數 | -1、7、36 | 向下取整 |
| float | 浮點數 | 0.654、-1.98 | 精度問題 |
| boolean | 是或否 | True、False | 首字母大寫 |
| string | 字串 | "duck"、'cat' | 單或雙引號皆可 |
print(int(-2/3)) # 0# PRESENTING CODE
_int = 13
_str = "duck"
_float = 3.1415926
_bool = True
_undefined = None # 這意義不大
print(type(_int)) # <class 'int'>
print(type(_str)) # <class 'str'>
print(type(_float)) # <class 'float'>
print(type(_bool)) # <class 'bool'>
print(type(_undefined)) # <class 'NoneType'>
_undefined = 7
print(type(_undefined)) # <class 'int'># PRESENTING CODE
舉例而言,我很喜歡給 -1e9 這個值
因為一般運算時不可能達到這個數
當你 Debug 看到 -1e9
就知道這個變數從頭到尾都沒被改過
# PRESENTING CODE
| 運算子 | 說明 | 例子 | 備註 |
|---|---|---|---|
| + | 加 | 3+7 | =10 |
| - | 減 | 16-9 | =7 |
| * | 乘 | 3*7 | =21 |
| / | 除 | 2/3 | =0.666... |
| ** | 次方 | 2**7 | =128 |
| % | 模 | 8%3 | =1 |
| == | 比較 | (3+17) == (21-1) | True |
# PRESENTING CODE
f 是一個 >0 的 float
寫一套程式幫我把 f 無條件捨去至小數點後第三位
做完之後輸出
不要用 round(),如果你知道那是什麼
f = 3.1415926
fixed = int(f * 1000)
print(fixed / 1000)如果你是想擷取 f 的小數部分呢?
# PRESENTING CODE
print(max(1, 3, 5, 9.14561, 16)) # 16
print(min(1, 3, 5, 9.14561, 16)) # 1# PRESENTING CODE
print(True and False) # False
print(True or False) # True
print(not True) # Falsenot (A and B) = (not A) or (not B)
# PRESENTING CODE
str1 = "abc"
str2 = "efg"
print(str1 + str2) # abcefg
print(str1 * 3) # abcabcabcstr1 = "abc"
str2 = "efg"
print(str1[1]) # b
print(str1[2] + str2[0]) # ce# PRESENTING CODE
s = "adc"
s[1] = "b"
# TypeError: 'str' object does not support item assignments = "abZdefg"
ss = s[0:2] + "c" + s[3:7]
print(ss)
你也可以直接用 list 裝 char,我喜歡這麼做
# PRESENTING CODE
ch = "a"
print(ord(ch)) # 97
print(ord(ch)+1) # 98假設今天 ch 是任何一個小寫字母
寫一套程式幫我判斷
ch 是字母表中的第幾個字母
不要查 ASCII 表,你也不需要背
# PRESENTING CODE
假設今天 ch 是任何一個小寫字母
寫一套程式幫我判斷
ch 是字母表中的第幾個字母
不要查 ASCII 表,你也不需要背
ch = "h"
print(ord(ch) - ord('a') + 1)# PRESENTING CODE
str = "A B C D E F G"
a, b, c, d, e, f, g = str.split()
print(d) # Dsen = "I like the night. Without the dark, we’d never see the stars"
a, b = sen.split(". ") # 注意那個空格
print(a)
print(b)# PRESENTING CODE
pi = 3.14159
r = 3
print(f"r = {r}, perimeter = {2*r*pi}, area = {r*r*pi}")content = input()
print(f"Your input = {content}")
# 輸入一個字串,再輸出同樣的東西# PRESENTING CODE
T = 1
print(T) # 1
print(bool(T)) # True# PRESENTING CODE
把 list 的東西,一個一個抓過來代入 function
a, b = map(int, input().split())
print(a+b)
# 堆,你寫出了一個加法器# PRESENTING CODE
若華氏溫度為 F,一個整數
則可經由公式 \(C = (F-32)\div1.8\)
得出攝氏溫度 C
設計一套程式,吃進一個整數 F,輸出 C
C 以向零取整的方式,轉換至整數
F = int(input())
C = (F-32)/1.8
print(int(C))# PRESENTING CODE
給你一個整數 N
把它取絕對值後輸出
# PRESENTING CODE
有個阿罵每秒走 V 公尺
她每走 A 秒就要休息 B 秒才會繼續走
求她 X 秒可以走多少公尺
喔對,雖然有 if-else 或 loop 可能會比較好做
但這題有完全不需要的辦法
頂多你會需要用到一個 min()
# CHAPTER 2
if (condition_1):
...
elif (condition_2):
...
else:
...# PRESENTING CODE
if (condition_1):
...
if (condition_1_1):
...
else:
...
elif (condition_2):
...
else:
...# PRESENTING CODE
# PRESENTING CODE
吃進一個正整數 k
代表學生的百分制分數
輸出它的等第計分
假設使用者給的分數區間
不屬於以上任何一個分數
則輸出 ?
# PRESENTING CODE
X = int(input())
result = "?"
if (X > 100):
pass
elif (X <= 100 and X >= 90):
result = "A+"
elif (X >= 85):
result = "A"
elif (X >= 80):
result = "A-"
elif (X >= 77):
result = "B+"
elif (X >= 73):
result = "B"
elif (X >= 67):
result = "C+"
elif (X >= 63):
result = "C"
elif (X >= 60):
result = "C-"
elif (X >= 50):
result = "D"
elif (X > 0):
result = "F"
print(result)# PRESENTING CODE
2016 APCS 10 月 - pA
吃進三個正整數 a、b、c 代表三角形三邊長
把他們由小到大輸出
再告訴我這個三角形是直角、鈍角、銳角
或根本不存在
# PRESENTING CODE
a = 1
b = 2
a, b = b, a
# 先說,並非每個語言都支持你這麼寫a, b, c = map(int, input().split())
if (a > b):
a, b = b, a
if (b > c):
b, c = c, b
if (a > b):
a, b = b, a# PRESENTING CODE
3
2
1
a, b, c = map(int, input().split())2
3
1
if (a > b):
a, b = b, a2
1
3
if (b > c):
b, c = c, b1
2
3
if (a > b):
a, b = b, a# PRESENTING CODE
a, b, c = map(int, input().split())
if (a > b):
a, b = b, a
if (b > c):
b, c = c, b
if (a > b):
a, b = b, a
print(f"{a} {b} {c}")
if (a + b <= c):
print("No")
elif (a*a + b*b < c*c):
print("Obtuse")
elif (a*a + b*b == c*c):
print("Right")
else:
print("Acute")# PRESENTING CODE
給你兩個數字 a、b,以及 a 與 b 邏輯運算的結果
求 a 與 b 可能用到 AND、OR、XOR 的哪些運算
# PRESENTING CODE
# CHAPTER 2
whille (condition):
...# PRESENTING CODE
whille (True):
...# PRESENTING CODE
# PRESENTING CODE
while (True):
# 這裡每次迴圈都會被執行到
if (condition_1):
continue # 回去第二行
# 如果 condition_1,那這行就不會跑
if (condition_2):
break # 過去第 10 行
# 如果 (condition_1 or condition_2),這行就不會跑
# 這個不在迴圈中# PRESENTING CODE
n = 0
while (n < 100):
n += 1
if (n%2 == 0):
print(n)n = 0
while (True):
n += 1
if (n%2 == 1):
continue
print(n)
if (n>=100):
break
# PRESENTING CODE
print(f"{list(range(1, 10, 1))}") # [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(f"{list(range(1, 10, 2))}") # [1, 3, 5, 7, 9]
print(f"{list(range(10, 1, -1))}") # [10, 9, 8, 7, 6, 5, 4, 3, 2]
print(f"{list(range(3, 18, 4))}") # [3, 7, 11, 15]print(type(range(1, 10, 1))) # <class 'range'># PRESENTING CODE
A 是隨便一個變數名稱,B 是一個可迭代的物件
(不可迭代物件還是能用,但順序會亂跳)
for i in range(1, 11, 1):
print(i)# PRESENTING CODE
for i in range(10, 0, -1):
print(i)for i in [1, 3, 5, 7, 9]:
print(i)n = 0
for i in range(1, 11, 1):
n += i
print(n)噢,理論上
現在 APCS 的第一題你都能解了
它的範圍真的就考到迴圈而已
# PRESENTING CODE
2017 APCS 3 月 - pA
給你一個正整數 X
找出 X 的 |奇數位數字和 - 偶數位數字和|
我每次對 X 做 %10,就可以取出末位數字
我每次對 X 做 // 10,就可以踢掉末位數字
最後 X 會變成 0
# PRESENTING CODE
2017 APCS 3 月 - pA
X = int(input())
now = True
# 如果 now 就加進 odd,否則加進 even
odd, even = 0, 0
while (X>0):
if (now):
odd += X%10
else:
even += X%10
X = X // 10
now = not now
print(abs(odd-even))# PRESENTING CODE
2017 APCS 3 月 - pA
X = input()
odd, even = 0, 0
for i in range(0, len(X), 2):
odd += ord(X[i]) - ord('0')
for i in range(1, len(X), 2):
even += ord(X[i]) - ord('0')
print(abs(odd-even))# CHAPTER 2
# CHAPTER 2