今天要来练习的是必较难的题目,是出自於APCS 105年3月5日的实作题1,那我们就开始吧!
问题描述
一次考试中,於所有及格学生中获取最低分数者最为幸运,反之,於所有不及格同学 中,获取最高分数者,可以说是最为不幸,而此二种分数,可以视为成绩指标。 请你设计一支程序,读入全班成绩(人数不固定),请对所有分数进行排序,并分别找 出不及格中最高分数,以及及格中最低分数。当找不到最低及格分数,表示对於本次考试而言,这是一个不幸之班级,此时请你印 出:「worst case」;反之,当找不到最高不及格分数时,请你印出「best case」。
注:假设及格分数为 60,每笔测资皆为 0~100 间整数,且笔数未定。
输入格式
第一行输入学生人数,第二行为各学生分数(0~100 间),分数与分数之间以一个空白 间格。每一笔测资的学生人数为 1~20 的整数。
输出格式
每笔测资输出三行。
第一行由小而大印出所有成绩,两数字之间以一个空白间格,最後一个数字後无空白;
第二行印出最高不及格分数,如果全数及格时,於此行印出 best case;
第三行印出最低及格分数,当全数不及格时,於此行印出 worst case。
a=int(input()) #输入人数
b=input() #输入成绩
list=b.split() #将成绩转为清单
list.sort() #将清单中成绩排序(由小到大)
#以下为第一行=======================================
print(' '.join(list)) #将排序好的清单转为字串并打印
#以下为第二行=======================================
list.reverse() #将清单顺序反转(由大到小)
for i in range(0,a):
if int(list[i])<60: #如果找到第一个小於60的数,打印并break
print(list[i])
break
if int(list[a-1])>=60: #如果清单中最小数>=60,就代表所有人及格
print('best case')
#以下为第三行=======================================
list.reverse() #将清单顺序反转(由小到大)
for j in range(0,a):
if int(list[j])>=60: #如果找到第一个大於60的数,打印并break
print(list[j])
break
if int(list[a-1])<60: #如果清单中最大数<60,就代表所有人都不及格
print('worst case')
>>: DAY 11:Thread-Specific Storage Pattern,高并发的多重宇宙空间
这几天可能不会有什麽进展,今天先将之前试验建置VS的部份做个整理。整理有关於Code strippi...
找树的高度 思路 这题是图上给你指定的点,让你找出最远的那个node离你多远,用Traversal找...
前言 今天会继续探讨其他的 flask 的函式。如果说昨天的函式是用来给予使用者回应,那今天提到的函...
第4个决定 决定ERP库存量的取值方法 库存量(或称在手量 on-hand quantities) ...
How - 部属MongoDB 登入以下网址 https://www.mongodb.com/clo...