Начало » Программирование » PHP, Perl, Python » Глобальные и локальные (сформировать условие проверки)
Глобальные и локальные [сообщение #5672] |
Fri, 01 November 2024 21:44 |
Liberator
Сообщений: 18 Зарегистрирован: September 2024
|
Junior Member |
|
|
Не могу внутри функции сформировать условие проверки правильности ответа студента.
Если проверять вне функции в основном тексте программы, то нет реакции на условие.
Есть 6 checkbutton. По сочетанию состояния флажков (0 или 1) можно было бы решить задачу, но не получается ни внутренний вариант ни внешний.
Пробовал глобальные переменные. Эффект 0.
def display_selected_flag():
s=""
q=""
q1="Победа"
q2="Неудача"
if option1_var.get()==1:
a="1"
s = s + a
q=q+q1
elif option1_var.get()==0:
a="0"
s = s + a
q=q+q2
if option2_var.get() == 1:
b = "1"
s = s + b
q = q + q2
elif option2_var.get() == 0:
b = "0"
s = s + b
if a==1 and b==1:
print("текст")
flag_label1.config(text="Результат:" + q)
Как быть ?
|
|
|
|
|
|
Re: Глобальные и локальные [сообщение #5688 является ответом на сообщение #5679] |
Sat, 02 November 2024 19:04 |
Liberator
Сообщений: 18 Зарегистрирован: September 2024
|
Junior Member |
|
|
from tkinter import *
from tkinter import PhotoImage, Label, Tk
import tkinter as tk
import tkinter
from tkinter import ttk
from tkinter.messagebox import showerror, showwarning, showinfo
f = ("Arial", 24)
top = tk.Tk()
top.geometry("700x250")
option1_var=tk.IntVar()
def display_selected_options():
if option1_var.get() == 1:
print(option1_var.get())
showinfo(title="Информация", message="П о з д р а в л я е м !!!")
else:
print(option1_var.get())
showinfo(title="Предупреждение", message="Увы. Ответ неверный. Не поздравляем.")
check_btn1=Checkbutton(top, text="Option 1", variable=option1_var)
check_btn1.pack(anchor=tk.W, padx=20, pady=5)
check_btn1.place(x=130, y=120)
show_btn = tk.Button(top, text="П о с м о т р е т ь", command=display_selected_options)
show_btn.pack(pady=20)
show_btn.place(x=500, y=180)
top.mainloop()
Вот так вроде все срослось.
Это на одном checkbutton отработана логика оценки ответа студента.
Всего 6 чеков. Лишь выбор одного из 6 правильный.
Вернусь в первоначальный вариант с radiobutton.
|
|
|
Переход к форуму:
Текущее время: Wed Dec 18 12:16:37 GMT+3 2024
Общее время, затраченное на создание страницы: 0.00935 секунд
|