不用打字,把程式積木拖進空格就好
← → 切換章節 | ↑ ↓ 下一題
按住下面的積木,拖到虛線空格上放開。
先點一下積木(會變黃),再點你要放的空格。
直接點那個空格,積木就會退回下面的池子。
按「執行看看」會把你拼出來的程式真的送去執行,
直接看到輸出。
就算拼錯也可以跑 —— 看看錯誤訊息長什麼樣,比只看紅框學得更多。
池子裡的積木比空格多 —— 有些是故意放來混淆的,不是每個都用得到。
「執行看看」需要先在 Playground 設定過伺服器,設定會自動沿用到這裡。
共 5 題,按 ↓ 開始
年齡要能拿來做數學運算,所以不能只是字串。
input() 拿回來的永遠是字串。字串沒辦法 +1,要先用 int() 轉成整數。半徑可能是小數,而且要算「半徑的平方」。
float(),用 int() 會把 2.5 砍成 2。**,* 是乘法、// 是整數除法。90 以上 A、80 以上 B、其他 C。
elif。要滿 18 歲而且有票才能進場。
and,「或者」= or。&&,那是別的語言的寫法。除以 2 之後看有沒有餘數。注意「等於」要用哪個符號。
% 是取餘數(7 % 2 得到 1)。= 是「把值存進去」,比較要用兩個等號 ==。共 4 題
range(開始, 結束, 間隔) 的「結束」不包含在內。從 1 開始累加 1、2、3…,加到總和超過 100 就停,印出加到哪個數字。
while。n += 1 是 n = n + 1 的簡寫。每印完一列要換行。
print() 就是印一個換行。continue = 這一圈不做了,跳到下一圈。break = 整個迴圈直接結束。共 4 題
結果要能拿去繼續運算,不能只印出來。
print,answer 會變成 None,下一行就會出錯。return。沒指定招呼語時,預設用「你好」。
參數名=預設值。greeting 的話,greet("小明") 會因為少一個引數而出錯。已經有 double 了,quad 就不用重寫一次乘法。
quad 的話會自己呼叫自己,永遠停不下來。共 4 題
pop() 會「拿走並交回」最後一個,剛好就是抽牌。remove() 只是刪掉,不會把東西交給你。len(scores) 是「有幾個」,這裡是 3。for s in scores 拿到的 s 是分數本身,不是位置編號。card 沒有引號才會被當成變數(值是 "K");["card"] 是去找 key 叫做 card 的那筆,會找不到。要同時拿到名字和分數。
.items()。.keys() 只給名字、.values() 只給分數,都不夠。一題會用到好幾章的東西,共 3 題
用到:函式 + 迴圈 + list。
average 會印出函式本身,不是計算結果。用到:dict + 迴圈 + 判斷。
if,不是 while —— 每一圈只判斷一次就好。用到:函式 + 迴圈 + dict + 字串切片。這題就是 21 點那份教材的核心。
card[:-1] = 從頭取到「最後一個之前」,把花色切掉。0 的話 "10♥" 只會拿到 "1",10 點的牌全部算錯。-1 則是拿到花色本身。
這些題目全部用拖的就能完成,但真正寫程式時是從一片空白開始。
挑兩三題到 Playground 自己打一次,你會發現差別。