第十一届蓝桥杯python组第二场省赛-成绩统计

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)) + "%")

猜你喜欢

转载自blog.csdn.net/qq_39445165/article/details/114969597