import random
numbers = []
for i in range(301):
numbers.append(random.randint(1,600))
g=0
u=0
for i in numbers:
if i[-1]=="1" or i[-1]=="3" or i[-1]=="5" or i[-1]=="7" or i[-1]=="9":
u +=1
else:
g +=1
print g
print u
总是会给我一个这样的错误:
TypeError: 'int' object has no attribute '__getitem__'
我只是一个初学者,所以我真的不明白,这里的问题在哪里......所以,谢谢你的帮助......
答案 0 :(得分:1)
您允许i
成为numbers
的元素。 numbers
的元素是int
s。你不能索引整数:5[3]
←没有意义。
Python中的索引是通过方法__getitem__()
完成的,因此Python尝试调用5.__getitem__(3)
(不存在)。这就是错误消息的来源。
你可能想要的是对整数进行字符串化:
str(i)[-1]
获取数字的最后一位数字(作为字符)。
但是因为你与1,3,5,7,9相比,我猜你想测试一个奇数。这更简单:
i % 2 == 1