iT邦幫忙

0

python成績分析系統

  • 分享至 

  • xImage

題目:設計一個程式,由使用者連續輸入成績(成績輸入-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)
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

3
asd3733653
iT邦新手 2 級 ‧ 2021-11-03 08:37:49
最佳解答
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)}人")
0
海綿寶寶
iT邦大神 1 級 ‧ 2021-11-03 09:25:07

/images/emoticon/emoticon10.gif

要怎麼打?

看到都笑了

我要發表回答

立即登入回答