【发布时间】:2021-11-26 16:40:22
【问题描述】:
我是一个初学者程序员,如果答案很明显,很抱歉。任何帮助表示赞赏。
我目前正在使用WIN.onkeypress() 调用函数,但我的scroll_draw_col 函数需要参数curr_draw_col。我知道WIN.onkeypress() 不能将参数传递给他们的函数。如何使用 curr_draw_col 作为 keypress ("f") 的参数调用 scroll_draw_col 函数?
def scroll_draw_col(curr_draw_col):
curr_draw_col += 1
WIN.listen()
WIN.onkeypress(tri_fwd, 'Up') # Unrelated
WIN.onkeypress(tri_bkw, 'Down') # Unrelated
WIN.onkeypress(tri_left, 'Left') # Unrelated
WIN.onkeypress(tri_right, 'Right') # Unrelated
WIN.onkeypress(scroll_draw_col, 'f') # <-----
while True:
WIN.update()
dra.goto(tri.xcor(), tri.ycor()) # Unrelated
print(curr_draw_col) # To see if curr_draw_col is being incremented by 1
【问题讨论】:
-
你的
scroll_draw_col函数不改变调用者的输入;如果我写a=3然后scroll_draw_col(a),那么我的a不会改变。如果你想改变一个全局变量,那么将它作为参数传入既没有必要也没有用。相反,您想使用global语句,以便 Python 知道您正在使用全局变量。 -
感谢您的快速回答!
-
由于您使用此调用来更改变量的状态,因此使用类可能是一个更好的主意。
标签: python python-turtle