Как отправить черепаху в случайную позицию?

#python #random #turtle-graphics

#python #Случайный #черепаха-графика

Вопрос:

Я пытался использовать goto() для отправки черепах в случайную позицию, но я получаю ошибку при запуске программы.

Я не понимаю, как еще это сделать, и не уверен в других способах. Мой текущий код:

 t1.shape('turtle')
t1.penup()
t1.goto((randint(-100,0)),(randint(100,0)))#this is the line with the error
  

Я хочу, чтобы черепаха переходила к случайным координатам в поле между -100,100 и 0,100, но я получаю сообщение об ошибке:

 Traceback (most recent call last):

File "C:Userssamdu_000OneDriveDocumentspythonbattle turtles.py",    line 18, in <module>

t1.goto((randint(-100,0)),(randint(100,0)))

File "C:Userssamdu_000AppDataLocalProgramsPythonPython3732librandom.py", line 222, in randint

return self.randrange(a, b 1)

File "C:Userssamdu_000AppDataLocalProgramsPythonPython37-
32librandom.py", line 200, in randrange

raise ValueError("empty range for randrange() (%d,%d, %d)" % (istart, 
istop, width))

 ValueError: empty range for randrange() (100,1, -99)
  

Ответ №1:

Вы запрашиваете число от 100 до 0. Но посмотрите на ссылку на randint() :

random.randint(a, b)

Возвращает случайное целое число N такое, что a <= N <= b.

a должно быть меньше или равно b . Итак, замените randint(100,0) на randint(0,100) :

 import turtle
from random import randint

t1 = turtle.Turtle()

t1.shape('turtle')
t1.penup()
t1.goto(randint(-100,0),randint(0,100))

turtle.done()
  

Демо:https://repl.it/@glhr/55439167

Комментарии:

1. используйте setpos() в turtle

2. @Исходный код программиста? Здесь они используются взаимозаменяемо: docs.python.org/2/library/turtle.html#turtle.setpos

3. О, моя ошибка @glhr

4. Я этого не видел