Как отправить черепаху в случайную позицию? - PullRequest
0 голосов
/ 31 марта 2019

Я пытался использовать 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:\Users\samdu_000\OneDrive\Documents\python\battle turtles.py",    line 18, in <module>

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

File "C:\Users\samdu_000\AppData\Local\Programs\Python\Python3732\lib\random.py", line 222, in randint

return self.randrange(a, b+1)

File "C:\Users\samdu_000\AppData\Local\Programs\Python\Python37-
32\lib\random.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 Ответ

1 голос
/ 31 марта 2019

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

random.randint (a, b)

Вернуть случайное целое число N, такое что a <= N <= b. </p>

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

...