中国蓝桥杯 真题训练:成绩统计 [简单]
题目描述
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。
请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。
输入描述
输入的第一行包含一个整数 n (1 leq n leq 10^4)n (1≤n≤104),表示考试人数。
接下来 nn 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
输出描述
输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分 四舍五入保留整数。
输入输出样例
示例
输入
7
80
92
56
74
88
100
0
输出
71%
43%
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
我的思路#
- 输入需要统计的人数
- 循环遇到85分+1,遇到60分+1
- (sum*1000//len1) % 10 >= 5求小数位的值是否大于5
- sum*100//len1+av小数位大于5时+1(四舍五入)
- 乘整100再整除
代码#
len1 = int(input())
sum = sum2 = i = av = av2 = 0
while len1>i:
li = float(input())
if li >= 60:
sum += 1
if li >= 85:
sum2 += 1
i += 1
if (sum*1000//len1) % 10 >= 5:
av = 1
if (sum2*1000//len1) % 10 >= 5:
av2 = 1
aver = sum*100//len1+av
aver2 = sum2*100//len1+av2
print(f'{aver}%
{aver2}%')