Это не дубликат, потому что я пытаюсь исправить ошибку в своем коде, а не как сама решить проблему. Я нашел код, который говорит, что он aws Ковер Серпинского в Python с использованием черепахи, но дает мне только гигантское сообщение об ошибке. Я получаю сообщение об ошибке, указывающее на дисплей черепахи и имя не указано. Я никогда не использовал черепаху, поэтому я хотел попробовать это. Вот ошибка, которую я получаю:
Traceback (most recent call last):
File "main.py", line 4, in <module>
wigs = turtle.Turtle()
File "/usr/local/lib/python3.8/turtle.py", line 3812, in __init__
Turtle._screen = Screen()
File "/usr/local/lib/python3.8/turtle.py", line 3662, in Screen
Turtle._screen = _Screen()
File "/usr/local/lib/python3.8/turtle.py", line 3678, in __init__
_Screen._root = self._root = _Root()
File "/usr/local/lib/python3.8/turtle.py", line 434, in __init__
TK.Tk.__init__(self) File "/usr/local/lib/python3.8/tkinter/__init__.py", line 2261, in __init__ self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
Вот мой код:
import turtle
import math
t = turtle.Turtle()
def s(n, l):
if n == 0: # stop conditions
# draw filled rectangle
t.color('black')
t.begin_fill()
for _ in range (4):
t.forward(l)
t.left(90)
t.end_fill()
else: # recursion
# around center point create 8 smalles rectangles.
# create two rectangles on every side
# so you have to repeat it four times
for _ in range(4):
# first rectangle
s(n-1, l/3)
t.forward(l/3)
# second rectangle
s(n-1, l/3)
t.forward(l/3)
# go to next corner
t.forward(l/3)
t.left(90)
# update screen
t.update()
# --- main ---
# stop updating screen (to make it faster)
t.tracer(0)
# start
try:
s(4, 400)
except:
print("This loop has reached it's max callback")
# event loop
t.done()
Если это плохой способ сделать ковер, тогда, пожалуйста, покажите мне другой способ. Мне действительно нужна помощь. Мне действительно нужна помощь как можно скорее, пожалуйста !!