Я вызвал глобальное логическое значение в функции, но оно все еще вводит «если», хотя условие не выполняется.
Я искал, но не смог найти подобную проблему.
from Tkinter import *
import time
jumping = False
def jump(parts, high = 25): #to fix: can jump again in middle jump
global jumping
jumping = True
for t in range(high*-3, 0, 1):
w.move(parts[0], 0, 1)
master.update()
time.sleep(.0083)
jumping = False
#thats the condition, which can be entered even while "jump()" is running.
if not jumping:
master.bind('w', lambda x: jump(penguin_parts))
Я ожидал, что это не позволит мне нажимать 'w' и активировать "jump ()", когда функция находится в процессе, но на самом деле это позволяет мне, точно так же, как прыжки все еще ложны.