Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Возникли проблемы с викториной(результатом)!!!

Помогите, пожалуйста! В конце теста появляются его результаты, а кнопки "Правда", "Ложь" и "Ответить" остаются, тем самым давая пользователю набрать себе лишние баллы. Как сделать так, чтобы в конце появлялся только результат, а кнопок не было?
from tkinter import*


window = Tk()
window.geometry("700x380")
window.title("Quiz викторина на знание Информационных Технологий")

facts =[
    {"text":"Первый ПК появился в 1981 году", "right": 1},
    {"text":"Среднестатистический пользователь компьютера моргает 2 раза в минуту", "right": 0},
    {"text":"Первое электронное письмо было отправлено 1971 году", "right": 1},
    {"text":"Является ли программирование наукой?", "right": 1},
    {"text":"Правда ли, что первая глобальная сеть связи была создана с помощью электрического телеграфа?", "right": 1},
    {"text":"Интерком – внутренняя корпоративная сеть, работающая на таких же технологиях, что и интернет", "right": 0},
    {"text":"Верно ли, что в 2011 году в Египте родилась девочка по имени Facebook?", "right": 1},
    {"text":"Правда ли, что день программиста отмечается 13 сентября", "right": 0},
    {"text":"Является ли Стив Джобс основателем Microsoft?", "right": 0},
    {"text":"Пасхалка - это секрет заложенный создателем ПО в программу?", "right": 1},
    ]
num = 0
points = 0

def check():
    global num, points
    answer=var.get()
    if bool(answer) == facts[num]["right"]:
        points +=1
    if num <len(facts)-1: 
        num +=1 
        fact["text"]=facts[num]["text"] 
    else: 
        fact["text"]=f"Ваш результат - верно {points} из 10"


label_title = Label(text="IT Диктант", font=("Arial", 24), fg="white", bg="red")
label_title.place(width=700, height=100, x=0, y=0)

fact = Message(text=facts[num]["text"], font=("Arial", 16), width=680)
fact.place(x=10, y=130)

var = IntVar()
true = Radiobutton(text="Правда", variable=var, value=1)
true.place(x=10, y=200)
false = Radiobutton(text="Ложь", variable=var, value=0)
false.place(x=10, y=220)



button = Button(text="Ответить", font=("Arial", 16), fg="white", bg="red",command=check)
button.place(x=120, y=203)

window_mainloop()
ПрограммированиеИнформатика+2
Полтер_Гусь Гусятьевич
  ·   · 13,5 K
Python Developer, VK Feed Expert, AI Operator.  · 23 апр 2023
Чтобы в конце теста появлялся только результат, а кнопок не было, нужно убрать кнопки «Правда», «Ложь» и «Ответить» и заменить их на кнопку, которая будет выводить результаты теста.
Для этого можно использовать метод
Button
из библиотеки
tkinter
с параметром который будет вызывать функцию, выводящую результаты теста.
command
 можно создать новую функцию: она будет вызываться при нажатии на кнопку «Показать результаты»и  будет выводить результаты теста вместо кнопок «Правда», «Ложь» и «Ответить».
show_results
 Вот код:
from tkinter import*

window = Tk()
window.geometry("700x380")
window.title("Quiz викторина на знание Информационных Технологий")

facts =[    {"text":"Первый ПК появился в 1981 году", "right": 1},    {"text":"Среднестатистический пользователь компьютера моргает 2 раза в минуту", "right": 0},    {"text":"Первое электронное письмо было отправлено 1971 году", "right": 1},    {"text":"Является ли программирование наукой?", "right": 1},    {"text":"Правда ли, что первая глобальная сеть связи была создана с помощью электрического телеграфа?", "right": 1},    {"text":"Интерком – внутренняя корпоративная сеть, работающая на таких же технологиях, что и интернет", "right": 0},    {"text":"Верно ли, что в 2011 году в Египте родилась девочка по имени Facebook?", "right": 1},    {"text":"Правда ли, что день программиста отмечается 13 сентября", "right": 0},    {"text":"Является ли Стив Джобс основателем Microsoft?", "right": 0},    {"text":"Пасхалка - это секрет заложенный создателем ПО в программу?", "right": 1},    ]
num = 0
points = 0

def check():
    global num, points
    answer=var.get()
    if bool(answer) == facts[num]["right"]:
        points +=1
    if num <len(facts)-1: 
        num +=1 
        fact["text"]=facts[num]["text"] 

def show_results():
    global points
    fact["text"]=f"Ваш результат - верно {points} из 10"
    true.destroy()
    false.destroy()
    button.destroy()
    show_results_button.destroy()

label_title = Label(text="IT Диктант", font=("Arial", 24), fg="white", bg="red")
label_title.place(width=700, height=100, x=0, y=0)

fact = Message(text=facts[num]["text"], font=("Arial", 16), width=680)
fact.place(x=10, y=130)

var = IntVar()
true = Radiobutton(text="Правда", variable=var, value=1)
true.place(x=10, y=200)
false = Radiobutton(text="Ложь", variable=var, value=0)
false.place(x=10, y=220)

button = Button(text="Ответить", font=("Arial", 16), fg="white", bg="red", command=check)
button.place(x=120, y=203)

window.mainloop()

Этот код создает окно с заголовком "IT Диктант", текстовым сообщением с вопросом из викторины, кнопками "Правда" и "Ложь" для ответа на вопросы и кнопкой "Ответить" для подтверждения ответа. При нажатии на кнопку "Ответить" вызывается функция "check()", которая проверяет ответ на текущий вопрос и переходит к следующему вопросу, пока не будет задан последний вопрос из списка викторины. После последнего вопроса выводится сообщение с результатом викторины.
Первый
Попробуйте применить к своим виджетам кнопок универсальную функцию ,destroy(), когда вам нужно будет отобразить результат викторины, и кнопки пропадут. Например, вот так: def check(): global num, points answer=var.get()... Читать далее