題目:設計一個程式,由使用者連續輸入成績(成績輸入-1 以結束輸入)
結束輸入後,程式立即輸出
100分 ?人
90分~99分 ?人
80分~89分 ?人
.....
0分~9分 ?人
(其中一定要用while和串列)
如果想要用串列的索引值來下手的話要怎麼打?
scores = []
inscore = 0
b = int(inscore/10)#這邊想要把數字弄小一點再處理
while(inscore != -1):
inscore = int(input("請輸入學生的成績:"))
if (inscore!=-1):
scores.append(inscore)
scores_list = []
inputscore = 0
count = 0
def maxcount(list1, l, r):
return len(list(x for x in list1 if l <= x <= r))
while(inputscore != -1 and inputscore >= 0 and inputscore <= 100):
count = count + 1
inputscore = int(input(f"請輸入學生{count}的成績:"))
if (inputscore != -1 and inputscore >= 0 and inputscore <= 100):
scores_list.append(inputscore)
elif (inputscore == -1):
print("成績輸入結束")
print(f"100分{scores_list.count(100)}人")
print(f"90-99分{maxcount(scores_list,90,99)}人")
print(f"80-89分{maxcount(scores_list,80,89)}人")
print(f"70-79分{maxcount(scores_list,70,79)}人")
print(f"60-69分{maxcount(scores_list,60,69)}人")
print(f"50-59分{maxcount(scores_list,50,59)}人")
print(f"40-49分{maxcount(scores_list,40,49)}人")
print(f"30-39分{maxcount(scores_list,30,39)}人")
print(f"20-29分{maxcount(scores_list,20,29)}人")
print(f"10-19分{maxcount(scores_list,10,19)}人")
print(f"0-9分{maxcount(scores_list,0,9)}人")