资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。
请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。
输入格式
输入的第一行包含一个整数 n,表示考试人数。
接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
输出格式
输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分四舍五入保留整数。
样例输入
7
80
92
56
74
88
100
0
样例输出
71%
43%
评测用例规模与约定
对于50%的评测用例,1≤n≤100。
对于所有评测用例,1≤n≤10000。
代码实现
n = int(input())
passed, excellent = 0, 0
for i in range(n):
score = int(input())
if score >= 60:
passed += 1
if score >= 85:
excellent += 1
pass_rate = str(int(passed / n * 100 + 0.5)) + "%"
excellent_rate = str(int(excellent / n * 100 + 0.5)) + "%"
print(pass_rate)
print(excellent_rate)
需要注意的是,在Python3中,round()函数的四舍五入实际上是“四舍六入五平分”,因此推荐采用int(a + 0.5)的方式来对百分号前的数字进行四舍五入的取整操作,避免出现问题。