因此,我试图学习Python,并决定尝试在Kattis,this one to be more precise上做一些问题。我设法将一些代码拼凑在一起,以打印出它们提供的正确值。
import functools
for _ in range(int(input())):
d = list(map(int, input().split()))
avg = functools.reduce(lambda a, b: a + b, d[1:]) / d[0]
print(f'{100 * len(list(filter(lambda x: x > avg, d))) / d[0]:.3f}' + '%')
但是,当我提交代码时,它失败了两个测试用例之一,它说得到了错误的答案。我想这可能是由于f字符串格式出现了问题,因为avg似乎获得了正确的值。因此,我希望可能会有更多有才华的人发现我所缺少的错误。
答案 0 :(得分:0)
这不是f字符串问题。您会误算百分比。不应该包含第一个值。
print(f'{100 * len(list(filter(lambda x: x > avg, d[1:]))) / d[0]:.3f}' + '%')