n=int(input()) m=list(map(int,input().split())) p1=p2=p3=p4=0 for i in m: if i<19: p1+=1 elif i<36: p2+=1 elif i<61: p3+=1 else: p4+=1 p1=p1*100/n p2=p2*100/n p3=p3*100/n p4=p4*100/n print('.2%%'%p1) print('.2%%'%p2) print('.2%%'%p3) print('.2%%'%p4)
时间: 2024-04-12 16:31:10 浏览: 135
您好!您的代码有几个小问题。首先,您在打印结果时使用了不正确的格式化字符串语法。其次,您使用了无效的转义字符'%%',应该使用单个'%'. 以下是修正后的代码:
```python
n = int(input())
m = list(map(int, input().split()))
p1 = p2 = p3 = p4 = 0
for i in m:
if i < 19:
p1 += 1
elif i < 36:
p2 += 1
elif i < 61:
p3 += 1
else:
p4 += 1
p1 = p1 * 100 / n
p2 = p2 * 100 / n
p3 = p3 * 100 / n
p4 = p4 * 100 / n
print('%.2f%%' % p1)
print('%.2f%%' % p2)
print('%.2f%%' % p3)
print('%.2f%%' % p4)
```
这样,您应该能够正确输出每个范围所占的百分比。希望能对您有所帮助!如果您有任何其他问题,请随时提问。
阅读全文