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
微信扫码关注
抖音扫码关注