Python TypeError:+;=的操作数类型不受支持:';方法';和';int';

Python TypeError:+;=的操作数类型不受支持:';方法';和';int';,python,python-3.x,turtle-graphics,Python,Python 3.x,Turtle Graphics,我想让我的程序在按下Page UP键时增加Python海龟的寿命。 我尝试了以下方法: #!/usr/bin/env python3 import turtle wn=turtle.Screen() wn.title('Control using first letter of desired action') py=turtle.Turtle() py.color('blue') size=1 def front(): py.fd(90) def back(): py.bk(9

我想让我的程序在按下Page UP键时增加Python海龟的寿命。 我尝试了以下方法:

#!/usr/bin/env python3
import turtle
wn=turtle.Screen()
wn.title('Control using first letter of desired action')
py=turtle.Turtle()
py.color('blue')
size=1
def front():
    py.fd(90)
def back():
    py.bk(90)
def right():
    py.rt(45)
def left():
    py.lt(45)
def increasize():
    global size
    while size>=1 and size<=20:
        py.pensize+=1
def decreasize():
    global size
    while size>=1 and size<=20:
        py.pensize-=1
wn.onkey(front,'w')
wn.onkey(back,'s')
wn.onkey(right,'d')
wn.onkey(left,'a')
wn.onkey(increasize,'Prior')
wn.onkey(decreasize,'Next')
wn.listen()
wn.mainloop()
pensize()似乎是一个方法(不是变量),需要调用:

试试这个:

pensize = py.pensize()
pensize += 1
py.pensize(pensize)

您需要使用新的大小调用pensize方法。无法将方法引用添加到

例如,在递增中

size += 1
py.pensize(size)
另外,除非希望大小始终为一个大小(20),否则请将while循环更改为if语句

while size>=1 and size<=20:

当size>=1和size时,请将您的代码放在问题的正文中。请同时发布错误的全文或回溯。penize是一个方法,而不是一个变量。查看并自行修复。
py.penize
是一种返回
int
的方法-它本身不是
int
py.\u penize
是可以通过
+=
增加的值。但是,变量名中的下划线表示它是一个私有变量,可能不应该以这种方式修改。我通过
py.penize(size+1)
修复了它,但它的大小增加到了2,并且不超过2
while size>=1 and size<=20: