蓝桥杯每日一题(29)成绩统计(python)

Topic

试题 F: 成绩统计
时间限制: 1.0s 内存限制: 512.0MB
本题总分:15 分

【问题描述】

小蓝给学生们组织了一场考试,卷面总分为 100 分,
每个学生的得分都是一个 0 到 100 的整数。
如果得分至少是 60 分,则称为及格。
如果得分至少为 85 分,则称为优秀。
请计算及格率和优秀率,
用百分数表示,百分号前的部分四舍五入保留整数。

【输入格式】

输入的第一行包含一个整数 n,表示考试人数。
接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。

【输出格式】

输出两行,每行一个百分数,分别表示及格率和优秀率。
百分号前的部分四舍五入保留整数。

Solution

蓝桥杯算法题, 输入格式可参考蓝桥杯通用输入模板

首先输入n
同时设置一个合格序列passed,一个优秀序列excellent

之后题目中输入乘积
循环遍历n次
若输入的值大于等于60则加入passed中
若输入的值大于等于85则加入到excellent中

注意
这里加入excellent时选择的不是elif而是if
因为满足优秀的乘积也满足及格
所以在passed和excellent中都需要加入

两个数组的长就分别表示了及格的人数和优秀的人数
最后求出小数形式的及格率和优秀率
由于是对百分数里的数字取整
那么就要将二者的小数形式分别乘100后取整

最后第一行输出及格率加百分号
第二行输出优秀率加百分号

Code

n = int(input())
passed = []
excellent = []

for i in range(n):
    a = int(input())

    if a >= 60:
        passed.append(a)

    if a >= 85:
        excellent.append(a)

passed_0 = round(len(passed) / n * 100)
excellent_0 = round(len(excellent) / n * 100)

print(str(passed_0) + '%')
print(str(excellent_0) + '%')

你可能感兴趣的:(python,蓝桥杯,python,算法,数据结构,蓝桥杯,列表)