Функция и доступ к переменным

sarmat22

Новичок
Пользователь
Ноя 2, 2024
2
0
1
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
Привел для двух checkbutton. Всего их 6. Для оценки ответа студента необходимо оценить флаги.
При составлении условия внутри функции условие в функцию не встраивается. При попытке составления условия вне функции параметры a,b(c,d,e,f) не видны. Пробовал global, а затем return. проблему разрешить не удалось.
Нужна квалифицированная помощь.
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
423
115
43
Очень интересно, но нихрена не понятно.
Что такое checkbutton? Что значит "условие в функцию не встраивается"? Что за параметры a,b(c,d,e,f)? При чем тут global и return?
🙄
 

sarmat22

Новичок
Пользователь
Ноя 2, 2024
2
0
1
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.
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
423
115
43
:poop:
 

PYDEV

Пользователь
Пользователь
Авг 31, 2023
69
18
8
 
  • Мне нравится
Реакции: 4olshoy_blen

Форум IT Специалистов