2016-12-16 2 views
0

Я создаю программу Черепахи, которая будет рисовать Рождественскую елку и некоторые блесна. Я хочу, чтобы блесна имели случайные цвета и отправлялись в случайные точки на Рождественскую елку. Это мой код:TypeError: введите аргумент объекта после * должен быть итерабельным, а не int

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

Однако при запуске программы появляется эта ошибка:

TypeError: type object argument after * must be an iterable, not int

Как это исправить?

+1

есть проблемы с вашей скобкой в ​​'goto' и' randint() ' – MMF

+0

вы можете показать определение своей функции' goto'? – MMF

ответ

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

goto принимает x и дополнительный yturtle.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.

Смежные вопросы