a053: Sagit's 計分程式
這篇教學會示範 ZeroJudge 基礎題庫「a053: Sagit's 計分程式」的解題過程。
題目需求
Sagit 是一位高中電腦老師,他的評分標準為了不讓分數落差太大,因此並不是採取每一題固定得分的方式,而是隨著題數增加而調整每題的得分。
- 答對題數在 0~10 者,每題給 6 分。
- 答對題數在 11~20 者,從第 11 題開始,每題給 2 分。
- 答對題數在 21~40 者,從第 21 題開始,每題給 1 分。
- 答對題數在 40 以上者,一律 100 分。
題目會給予答對的題數,透過程式計算最後的得分。
題目連結:a053: Sagit's 計分程式
解答
根據條件可分成四個區段的分數,當答對的題目數量符合下個區段時,先加入之前的得分,就可以得到最後的結果。
while True:
try:
n = int(input()) # 將輸入的文字轉換成數字
if n<=10:
score = n*6 # 如果答對題數小於等於 10,得分為題數乘以 6
elif n>10 and n<=20:
score = 60 + (n-10)*2 # 當答對題數在 11~20,先加上前十題的 60 分,再計算乘以 2 的分數
elif n>20 and n<40:
score = 80 + (n-20) # 當答對題數在 21~40,先加上前二十題的 80 分,再計算乘以 1 的分數
else:
score = 100 # 答對 40 題以上滿分 100
print(score)
except:
break
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~