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 13:31:10 浏览: 23
您好!您的代码有几个小问题。首先,您在打印结果时使用了不正确的格式化字符串语法。其次,您使用了无效的转义字符'%%',应该使用单个'%'. 以下是修正后的代码:
```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)
```
这样,您应该能够正确输出每个范围所占的百分比。希望能对您有所帮助!如果您有任何其他问题,请随时提问。
相关问题
r, n = map(int, input().split())
这行代码是Python中的输入语句,用于从标准输入(通常是键盘)读取两个整数,分别赋值给变量r和n。其中,input()函数用于从标准输入读取一行文本,map()函数用于对该行文本按空格进行分割,得到一个包含两个字符串的列表(或元组),然后再用int()函数将两个字符串转换为整数。最终,r和n分别等于输入的两个整数。
例如,如果你在命令行或Python交互式环境中输入:
```
100 6
```
那么r将等于100,n将等于6。
m, n = map(int, input().split())什么意思
这行代码是在 Python 中用来读取用户输入的两个整数,并将它们分别存储在变量 m 和 n 中。具体来说,input() 函数用于从控制台获取用户输入的字符串,split() 方法用于将这个字符串按照空格分割成多个子字符串,map() 函数用于将这些子字符串转换成整数类型,并把它们作为一个元组返回。最后,使用解包操作符将这个元组中的两个整数分别赋值给变量 m 和 n。