蓝桥杯真题-成绩统计-PYTHON解法

题目描述

蓝桥杯真题-成绩统计-PYTHON解法_第1张图片

解题思路 

本题的难点还是在输出格式上,控制好四舍五入

代码

    n=int(input())
    perfect=[]
    good=[]
    for i in range(n):
        numb=int(input())
        if numb>=85:
            perfect.append(numb)
        if numb>=60:
            good.append(numb)
    if (1000*len(good)/n)%10>=5:
        print(str(int(100*len(good)/n)+1)+'%')
    else:
        print(str(int(100*len(good)/n))+'%')
    if (1000 * len(perfect) / n) % 10 >= 5:
        print(str(int(100 * len(perfect) / n) + 1)+'%')
    else:
        print(str(int(100 * len(perfect) / n)) +'%')

输出的格式我看题解交的是:

   print("{:.0f}%".format(100*len(good)/n))
   print("{:.0f}%".format(100*len(perfect)/n))

但是我觉得有点不符合四舍五入,这个输出42.5会判定为42而46.5会判定成47就离谱。虽然测试样例也都是通过。好像是42.51就会被判定为43而42.50或42.5不行。当然四舍五入也可以用round函数

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