Если я правильно понимаю, проблема в том, что bttn_clicks
увеличивается с каждым нажатием кнопки?
Это потому, что каждая кнопка "update_count
" относится к переменной global bttn_clicks
.
Возможно, вы хотите, чтобы версия этой переменной хранилась на каждой кнопке.
Это очень упрощенная версия того, что делает ваш код:
count = 0
def update_count():
global count
count += 1
Button1 = update_count
Button2 = update_count
Button1()
Button1()
Button2()
count
#>>3
Вы можетеобратите внимание, что независимо от того, где вы вызываете функцию update_count, происходит только один count
.
Вместо этого вам нужно несколько.Один из способов сделать это через классы.Например, вы можете прикрепить класс Counter, как показано ниже, к каждой кнопке и вызывать счетчик каждой кнопки отдельно.
class Counter:
def __init__(self): #sets count to zero when first initialized
self.count = 0
def increase(self):
self.count += 1 #function to increase the count by one
counter = Counter() #first instance
counter.increase()
counter.increase()
counter2 = Counter() #second instance
counter2.increase()
counter.count #first instance "count"
#>>2
counter2.count #second instance "count"
#>>1