我一直收到这个错误: TypeError:'int'对象不可迭代。
我需要的任务(所以你对我想要实现的目标有一些背景)是这样的:“编写一个程序,它将创建100个随机整数,在-10和+10之间都是负数和正数(在a for循环)然后确定有多少是正面的,有多少是负面的。最后,打印出有多少数字为正数,多少数为负数。“
import random
positive = 0
negative = 0
for number in random.randrange(-10,10):
if number > 0:
positive += 1
else:
negative += 1
print ("End")
到目前为止,这是我的代码。如果有人可以帮我使用上述信息和我的错误,那就太好了!
答案 0 :(得分:2)
random.randrange(-10,10)
创建一个随机整数,它不会自动创建100
个随机整数。因此,当您尝试执行 - for number in random.randrange(-10,10):
时 - 当您尝试迭代一个不可能的整数时,它会出错。
我建议迭代range(100)
,然后在循环中取random.randrange(-10,10)
。示例 -
for _ in range(100):
number = random.randrange(-10,10)
if number > 0:
positive += 1
else:
negative += 1
答案 1 :(得分:1)
random.randrange()
是一个返回单个随机数的函数。你的代码出错了,因为你试图循环遍历那个可迭代的单个数字。
相反,你想要生成一个随机数100个单独的时间,所以你的for循环应该看起来像这样:
for i in range(100):
number = random.randrange(-10,10)
# do stuff with number...
答案 2 :(得分:1)
random.randrange(-10,10)
会在range(-10,10)
中返回一个不可迭代的随机数。 random.randrange(-10,10) for _ in range(100)
会做你想做的事。此外,您永远不会打印出正面和负面的数据。