Top.Mail.Ru
Ответы

Не работают коды в PyCharm, а именнно turtle.

Я сдаю ЕГЭ по информатике, и в 6 задании надо написать код с черепахой turtle. Какие бы решенияя не присал, ошибка одна. Пробовал переустанавливать python, pycharm, толку 0.
Искал в интернете, либо не нашел, либо не понял. Так же у нейронки спрашивал, ничем не помогла.
Вот пример кода:
from turtle import *

left(90)
k=10
tracer(0)
screensize(2000,2000)
for i in range(4):
for j in range(4):
forward(7*k)
right(90)
forward(10*k)
right(90)
forward(4*k)
penup()
for x in range(-20,20):
for y in range(-20,20):
setpos(x*k,y*k)
dot()
done()

И ошибка:


Подскажите что делать, пожалуйста.

Дополнен

Самое главное: проблема даже не в коде, а в самом питоне наверное, вот:
This probably means that Tcl wasn't installed properly.

По дате
По Рейтингу
Аватар пользователя
Ученик
4мес

У меня тоже самое. Скажи пожалуйста что ты сделал а то я такими темпами скоро начну черепах ненавидеть.

Аватар пользователя
Ученик
7мес

Ооо у меня такая же проблема, не знаю, что делать. У тебя получилось разобраться? Если да, подскажи, пожалуйста, как ?

Аватар пользователя
Оракул
7мес

1. Удалите текущую версию Python
2. Скачайте и установите Python с официального сайта python.org
3. При установке обязательно поставьте галочку "tcl/tk and IDLE" в опциях установки

Аватар пользователя
Профи
7мес

Я не программист, но проверь код действителен (если так он вообще может))

Аватар пользователя
7мес

В строке, где вы вызываете penup(), необходимо перед этим сделать penup() до того, как вы начнете устанавливать позицию с помощью setpos(), чтобы не было случайных линий, кроме того, tracer(0) отключает автоматическое обновление экрана, и вам нужно будет добавить update() после завершения рисования, чтобы увидеть результат.


from turtle import *

k = 10
tracer(0)
screensize(2000, 2000)

# Рисуем квадраты
for i in range(4):
for j in range(4):
forward(7 * k)
right(90)
forward(10 * k)
right(90)
forward(4 * k)
right(90)
forward(10 * k)
right(90)
forward(7 * k)
right(90)
penup()
forward(10)
pendown()

penup()
for x in range(-20, 20):
for y in range(-20, 20):
setpos(x * k, y * k)
dot()

update()
done()