#python #turtle-graphics #python-turtle
#python #графика черепахи #python-turtle
Вопрос:
Этот код, который я написал, просто уничтожает весь проект (со строки 15 по строку 22). Я пробовал другое форматирование, но ничего не работает. Вот мой код:
import turtle
from turtle import Turtle, Screen
screen = Screen()
PenWidth=input("Enter your Penwidth, you can later adjust it with k and l")
jack = Turtle("turtle")
jack.color("red", "green")
jack.pensize(PenWidth)
jack.speed(0)
def up():
jack.setheading(90)
jack.forward(100)
def Pensmaller():
global PenWidth
PenWidth=-2
jack.pensize(PenWidth)
def Penbigger():
global PenWidth
PenWidth= 2
jack.pensize(PenWidth)
turtle.listen()
turtle.onkey(up,"Up")
turtle.onkey(Pensmaller, "k")
turtle.onkey(Penbigger, "l")
screen.mainloop()`
Комментарии:
1. С чем именно у вас возникли проблемы? Это ошибка?
2. Боюсь, вам нужно быть более информативным. Сообщите нам, какую именно ошибку вы получаете, покажите нам свои журналы ошибок и т. Д.
3. Для первой функции добавьте Jack в качестве параметра или сделайте его глобальным
4. @IsmailHafeez Это вообще не имеет значения.
5. @IsmailHafeez СанджаЙсуреш прав
Ответ №1:
Вы ввели операторы в неправильном порядке. Вы должны изменить функции Pensmaller
and Penbigger
следующим образом:
def Pensmaller():
global PenWidth
PenWidth -= 2
jack.pensize(PenWidth)
def Penbigger():
global PenWidth
PenWidth = 2
jack.pensize(PenWidth)
В вашем исходном коде вы использовали PenWidth= 2
, который устанавливает PenWidth
значение 2
. Чтобы добавить к числу, знак плюс должен стоять перед знаком равенства, например =
, вместо =
. То же самое, с =-
помощью которого должно быть -=
вычтено из числа. Кроме того, чтобы избежать ошибки типа и иметь возможность добавлять к ней / вычитать из нее, преобразуйте PenSize в начале в int, например:
PenWidth = int(input("Enter your Penwidth, you can later adjust it with k and l"))
Комментарии:
1. Ваше решение не работает. Вот сообщение об ошибке, которое я получаю каждый раз, когда нажимаю клавишу (в данном случае k): Исключение в трассировке обратного вызова Tkinter (последний последний вызов): File «/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/tkinter/__init__.py «, строка 1884, в файле call return self.func(*args) «/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/turtle.py «, строка 687,в файле eventfun fun() «/Users/gian/Desktop/TigerJython/Paint.py «, строка 67, в Pensmaller PenWidth -= 2 Ошибка типа: неподдерживаемые типы операндов для -=: ‘str’ и ‘int’
2. @Zwiebelgian я отредактировал свой ответ с исправлением для этого, теперь должно сработать