1. 问题描述:
小蓝给学生们组织了一场考试,卷面总分为 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。
2. 思路分析:
分析题目可以知道我们遍历输入的各个分数,判断分数并分别对及格与优秀的分数进行计数,循环结束之后得到及格率和优秀率,分别乘以100之后使用round函数进行四舍五入,并且使用round函数四舍五入不写第二个参数那么默认不保留小数,这样满足题目中只保留整数的要求,最后将四舍五入的结果转为字符串类型,拼接字符"%"即可
3. 代码如下:
if __name__ == '__main__':
n = int(input())
jg, yx = 0, 0
for i in range(n):
score = int(input())
if score >= 60:
jg += 1
if score >= 85:
yx += 1
# 使用round函数对小数进行四舍五入, 不写第二个参数可以不保留小数的位数
print(str(round(jg / n * 100)) + "%")
print(str(round(yx / n * 100)) + "%")