SQLRU.net
Разработка приложений баз данных

Начало » Программирование » PHP, Perl, Python » Глобальные и локальные (сформировать условие проверки)
Глобальные и локальные [сообщение #5672] Fri, 01 November 2024 21:44 Переход к следующему сообщению
Liberator в настоящее время не в онлайне  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: Глобальные и локальные [сообщение #5674 является ответом на сообщение #5672] Fri, 01 November 2024 22:31 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 358
Зарегистрирован: June 2022
Senior Member
Python?
Пoставить IDE и пройтись отладчиком.
Обычно помогает.
Re: Глобальные и локальные [сообщение #5675 является ответом на сообщение #5674] Sat, 02 November 2024 01:38 Переход к предыдущему сообщениюПереход к следующему сообщению
Liberator в настоящее время не в онлайне  Liberator
Сообщений: 18
Зарегистрирован: September 2024
Junior Member
Пытаюсь реализовать условие типа
if a==1 and b==1:
   print("Что то")
Отладчик ошибок не находит.
А программа эти строки просто не замечает.     
Re: Глобальные и локальные [сообщение #5679 является ответом на сообщение #5675] Sat, 02 November 2024 15:57 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 358
Зарегистрирован: June 2022
Senior Member
Значит они не вызываются
А так хз.
Вы бы пример короткий полного скрипта показали.
Re: Глобальные и локальные [сообщение #5688 является ответом на сообщение #5679] Sat, 02 November 2024 19:04 Переход к предыдущему сообщению
Liberator в настоящее время не в онлайне  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.
Предыдущая тема: Глобальные и локальные
Переход к форуму:
  


Текущее время: Fri Nov 15 00:05:36 GMT+3 2024

Общее время, затраченное на создание страницы: 0.01290 секунд