继续获取TypeError:'int'对象不可迭代

时间:2015-10-12 00:58:58

标签: python python-3.x int

我一直收到这个错误: 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")

到目前为止,这是我的代码。如果有人可以帮我使用上述信息和我的错误,那就太好了!

3 个答案:

答案 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)会做你想做的事。此外,您永远不会打印出正面和负面的数据。