Срочно, помогите пожалуйста сделать рабочий счетчик для моей программы, долго пытался но все равно не выходит
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
#Счетчик обозначен функцией score()
from tkinter import *
window = Tk()
window.geometry('700x600')
window.title('SchoolGame')
window['bg'] = 'ghost white'
def draw_home_button():
b = Button(text = 'Домой', font = ('Arial', 24), fg = 'black',bg = 'firebrick1', command = draw_menu)
b.place(x = 25, y = 500,width = 150)
def clear():
all_widgets = window.place_slaves()
for i in all_widgets:
i.destroy()
draw_home_button()
score()
def game():
global cur_q, points
def check():
global cur_q, points
answer = var.get()
if bool(answer) == facts[cur_q]['right']:
points += 1
if cur_q < len(facts) - 1:
cur_q += 1
fact['text'] = facts[cur_q]['text']
else:
points_label = Label(text = 'Вы набрали ' + str(points) + ' очка',font = ('Courier New Greek', 34), fg = 'red', bg = 'ghost white')
points_label.place(x = 0, y = 0, width = 700,height = 500)
all_widgets = window.place_slaves()
for i in all_widgets:
i.destroy()
draw_home_button()
score()
window.title('Тестирование по геометрии')
facts = [
{'text': 'Медиана-линия,соединяющая вершину треугольника с серединой его противоположной стороны', 'right': 1},
{'text': 'Сумма углов прямоугольника-180 градусов', 'right': 0},
{'text': 'В прямоугольном треугольнике самая большая сторона-гипотинуза', 'right': 1},
{'text': 'биссектриса делит стороны пополам', 'right':0},
{'text': 'Гипотинуза всегда больше двух катетов', 'right':0}
]
cur_q = 0
points = 0
label_title = Label(text = 'Тестирование по геометрии', font = ('Arial',24), fg = 'black', bg = 'yellow')
label_title.place(width = 700, height = 50, x = 0,y = 0)
fact = Message(text = facts[cur_q]['text'], font = ('Arial',14), width = 680, borderwidth=0, bg = 'ghost white')
fact.configure(justify=CENTER)
fact.place(x=30, y=70)
var = IntVar()
true = Radiobutton(text = 'Правда',variable=var, value = 1, bg = 'ghost white')
true.place(x = 10, y = 120)
false = Radiobutton(text = 'Ложь',variable=var, value = 0, bg = 'ghost white')
false.place(x = 10,y = 170)
b = Button(text = 'Ответить', font = ('Arial',24), fg = 'black', command = check)
b.place(x = 260,y = 150)
def score():
global points,rekord
points = 0
rekord = 0
if rekord<points:
rekord += 1
label_rekord = Label(text = rekord,font = ('Nyala',16),fg = 'black', bg = 'ghost white')
label_rekord.place(x = 640, y = 525)
label_score = Label(text = 'Всего очков:', font = ('Nyala',16), fg = 'black', bg = 'ghost white')
label_score.place(x = 500, y = 525)
def draw_menu():
clear()
score()
label_title = Label(text = 'Выберите режим игры', font = ('Arial',24), fg = 'black', bg = 'light sky blue')
label_title.place(width = 700, height = 50,x = 0, y = 0)
b_1 = Button(text = 'Математические задачи', font = ('Nirmala UI Semilight', 16), fg = 'black',bg = 'cyan', command = game)
b_1.place(x = 25, y = 75, width = 300)
b_2 = Button(text = 'Задания на другие темы', font = ('Nirmala UI Semilight', 16), fg = 'black',bg = 'cyan', command = clear)
b_2.place(x = 375, y = 75, width = 300)
b_3 = Button(text = 'Развитие реакции', font = ('Nirmala UI Semilight', 16), fg = 'black',bg = 'cyan', command = clear)
b_3.place(x = 200, y = 150, width = 300)
draw_menu()
window.mainloop()
По дате
По рейтингу
Потому что ты присваиваешь переменным 0, условие не выполняется. А rekords вообще впервые в коде появляется в этой функции, непонятно, что за переменная и за что она отвечает.
У тебя
1234
points = 0
rekord = 0
if rekord < points:
rekord += 1
При каждом вызове ты просто ставишь points и record в 0 (Условие, естественно, не выполнится). Откуда там взяться каким-либо другим значениям?
Если не обнулять, скорее всего будет нормально работать, хотя я не вчитывался в остальной код