首页 > 解决方案 > 如何将乌龟发送到随机位置?

问题描述

我一直在尝试使用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)

标签: pythonrandomturtle-graphics

解决方案


您要求一个介于 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


推荐阅读