Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 14.10.2014
Сообщений: 45

Плохая работа программы на модуле Turtle

19.05.2022, 14:14. Показов 978. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код программы:
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import turtle, random
 
window = turtle.Screen()
border = turtle.Turtle()
border.speed(0)
border.up()
border.hideturtle()
border.pensize(5)
border.color('red')
border.goto(300,300)
border.down()
border.goto(300,-300)
border.goto(-300,-300)
border.goto(-300,300)
border.goto(300,300)
 
ball = turtle.Turtle()
ball.hideturtle()
ball.shape('circle')
ball.up()
randx = random.randint(-290,290)
randy = random.randint(-290,290)
ball.goto(randx,randy)
ball.showturtle()
dx = 3
dy = 2
 
while True:
    x,y = ball.position()
    if x+dx >=300 or x+dx <= -300:
        dx = -dx
    if y+dy >=300 or y+dy <= -300:
        dy = -dy
    ball.goto(x+dx, y+dy)
 
window.mainloop()

Основной её функционал — это движение шарика с отталкиванием от стены
Однако при её работе возникают проблемы. Во-первых, мячик во время движения почему-то мерцает и искажается, во-вторых, выдается масса ошибок при работе программы.
(вообще, анимация движения в модуле Turtle крайне неплавная), а также выдаётся масса ошибок после исполнения программы:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
Traceback (most recent call last):
 File "C:\Users\USER\Documents\Python\game.py", line 34, in <module>
    ball.goto(x+dx, y+dy)
  File "C:\Python310\lib\turtle.py", line 1777, in goto
    self._goto(Vec2D(x, y))
  File "C:\Python310\lib\turtle.py", line 3160, in _goto
    screen._pointlist(self.currentLineItem),
  File "C:\Python310\lib\turtle.py", line 754, in _pointlist
    cl = self.cv.coords(item)
  File "<string>", line 1, in coords
  File "C:\Python310\lib\tkinter\__init__.py", line 2795, in coords
    self.tk.call((self._w, 'coords') + args))]
_tkinter.TclError: invalid command name ".!canvas"
Версия ОС: Windows 10 1909
Подскажите, пожалуйста, с чем это связано?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.05.2022, 14:14
Ответы с готовыми решениями:

Сделать в модуле turtle кирпичную стену
В общем нужно сделать в модуле turtle кирпичную стену. Параметра спрашиваются у пользователя. Кирпичи не должны быть строго друг над...

Плохая работа проекта, замедленная работа кода
Здравствуйте уважаемые программисты, вот уж случилась беда, вчера был проект, работал нормально, сегодня уже работает с &quot;багом&quot;,...

Плохая архитектура ОО программы
Задался целью написать свою первую хорошую полностью ОО программу. Как известно, это подразумевает интенсивное использование...

2
Эксперт Python
 Аватар для unfindable_404
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
19.05.2022, 23:50
Yan01, строку
Python
1
window.mainloop()
замените на
Python
1
window.update()
и добавьте отступ, чтобы строка была внутри цикла.

Добавлено через 1 минуту
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import turtle
import random
 
window = turtle.Screen()
border = turtle.Turtle()
border.speed(0)
border.up()
border.hideturtle()
border.pensize(5)
border.color('red')
border.goto(300, 300)
border.down()
border.goto(300, -300)
border.goto(-300, -300)
border.goto(-300, 300)
border.goto(300, 300)
 
ball = turtle.Turtle()
ball.hideturtle()
ball.shape('circle')
ball.up()
rand_x = random.randint(-290, 290)
rand_y = random.randint(-290, 290)
ball.goto(rand_x, rand_y)
ball.showturtle()
dx = 3
dy = 2
 
while True:
    x, y = ball.position()
    if x + dx >= 300 or x + dx <= -300:
        dx = -dx
    if y + dy >= 300 or y + dy <= -300:
        dy = -dy
    ball.goto(x + dx, y + dy)
    window.update()
0
0 / 0 / 0
Регистрация: 14.10.2014
Сообщений: 45
20.05.2022, 00:08  [ТС]
Благодарю, шарик перестал мерцать, но всё равно выдает ошибку:
Code
1
2
3
4
5
6
7
8
9
10
11
12
File "C:\Users\USER\Documents\Python\game.py", line 35, in <module>
    ball.goto(x + dx, y + dy)
  File "C:\Python310\lib\turtle.py", line 1777, in goto
    self._goto(Vec2D(x, y))
  File "C:\Python310\lib\turtle.py", line 3160, in _goto
    screen._pointlist(self.currentLineItem),
  File "C:\Python310\lib\turtle.py", line 754, in _pointlist
    cl = self.cv.coords(item)
  File "<string>", line 1, in coords
  File "C:\Python310\lib\tkinter\__init__.py", line 2795, in coords
    self.tk.call((self._w, 'coords') + args))]
_tkinter.TclError: invalid command name ".!canvas"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.05.2022, 00:08
Помогаю со студенческими работами здесь

Плохая работа компьютера
Здраствуйте ребята!!!Подскажите пожалуйсто,что делать?Постоянно виснет компьютер,на нём нет антивируса,расскажите что делать

Плохая работа монитора
Подскажите пожАлуйста, в чем может быть проблема, после включения пк, монитор издает громкий писк, после пары секунд работы освещение...

Плохая работа таймера
Я поставил что бы каждые 10 миллисекунд тикал таймер(SetTimer). Но он тикает медленней чем надо(сразу заметно, где то раз в 500...

Плохая работа хостинга.
Я не буду ругать свой хостинг, пока не разобрался, но хочу на всякий случай домен перенести в более надёжную зону. Подскажите, какой более...

Плохая работа ClearType
Здравствуйте ! Дело в том, что я установил себе Windows 7 (на Windows xp сидел, бед не знал), ну а на Спермерке такой мутный шрифт... Глаза...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru