TypeError:*之后的类型对象参数必须是可迭代的,而不是int

时间:2016-12-16 16:07:08

标签: python typeerror turtle-graphics

我正在创建一个Turtle程序,它将绘制一棵圣诞树和一些小玩意儿。我希望这些小玩意有随机颜色,然后去圣诞树上的随机点。这是我的代码:

turtle.goto(random.randint(1,8)),(random.randint(1,8))

但是,当我运行程序时,会出现此错误:

  

TypeError:*之后的类型对象参数必须是可迭代的,而不是int

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

我不知道乌龟,但我最好的猜测是你的括号有问题:

turtle.goto(random.randint(1,8)),(random.randint(1,8))
#   Extra closing parenthesis  ^,^ extra opening

将其更改为:

turtle.goto(random.randint(1,8), random.randint(1,8))

答案 1 :(得分:2)

goto需要x和可选y turtle.goto(x, y=None)

如果我们有

x = random.randint(1,8)
y = random.randint(1,8)

我们可以做到

turtle.goto(x, y)

或者一次性使用一些空间以提高可读性和发现错误的额外机会,尽可能少的支撑

turtle.goto( random.randint(1,8), random.randint(1,8) )

您不需要为goto赋予的值附加额外的参数。