Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 81

Не срабатывает код с условием

22.11.2019, 09:07. Показов 2650. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите почему ошибка, что не так в коде почему не срабатывает код с условием помогите разобраться
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from tkinter import *
from tkinter import messagebox
 
windows = Tk()
windows.title("Окно №1")
windows.geometry("300x250")
name1 = 123
passs = 12345
def regist():
    lab1 = Label(text = "Вход", font=("Arial Bold", 14))
    lab2 = Label(text = "Введите ваше имя")
    text_Ed1 = Entry()
    lab3 = Label(text = "Введите пароль")
    text_Ed2 = Entry()
    butt = Button(text = "Войти", command = vxod)
    lab1.pack()
    lab2.pack()
    text_Ed1.pack()
    lab3.pack()
    text_Ed2.pack()
    butt.pack()
 
 
 
def vxod(): 
    if text_Ed1.get() == name1 and text_Ed2.get() == passs:
        messagebox.showinfo("Вход","Вы вошли в систему как -" + name1)
    else:
        messagebox.showinfo("Ошибка","Вы ввели не правильно имя или пароль")
 
        
regist()
 
windows.mainloop()
Ошибка:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\1\AppData\Local\Programs\Pytho n\Python38-32\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "C:\Python\tes.py", line 26, in vxod
if text_Ed1.get() == name1 and text_Ed2.get() == passs:
NameError: name 'text_Ed1' is not defined
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.11.2019, 09:07
Ответы с готовыми решениями:

Не срабатывает запрос с условием
В IBConcole пишу запрос: Вывести информацию о владельцах, которые в общем потратили на техосмотры больше определенной суммы, и количество...

При нажатие клавиши срабатывает определённый код, дополните мой код
Есть код bool space = false; // переменная отвечающая за просмотр, нажат ли пробел или нет if () { echo << "Вы нажали...

Написать код с условием
Можете написать код с условием для DosBox : Мой код c ошибками: include macro.lib .model small .stack 100 ...

8
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
22.11.2019, 17:14
Все переменные в функции regist локальные
1
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 81
22.11.2019, 23:59  [ТС]
tooru, а как эти компоненты объявлять глобально?
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
23.11.2019, 00:28
Лучший ответ Сообщение было отмечено hardiKK как решение

Решение

Цитата Сообщение от hardiKK Посмотреть сообщение
а как эти компоненты объявлять глобально?
Объявить вне функции

Добавлено через 37 секунд
Но правильнее делать через StringVar
1
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 81
26.11.2019, 09:48  [ТС]
tooru, Подскажите почему в условии срабатывает только второе(7 строчка только срабатывает) ? (если ввожу даже правильные данные "zhor и 1234")
Python
1
2
3
4
5
6
7
def vxod(): 
    name1  = 'zhor'
    passs = 1234
    if text_Ed1.get() == name1 and text_Ed2.get() == passs:
        messagebox.showinfo("Вход","Вы вошли в систему как -" + name1)
    else:
        messagebox.showinfo("Ошибка","Вы ввели не правильно имя или пароль")
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
26.11.2019, 21:07
passs вы задали как число, а Entry возвращает строку
0
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 81
27.11.2019, 08:49  [ТС]
tooru, Преобразовал и все ровно что та не работает
Python
1
2
3
4
5
6
7
def vxod(): 
    name1 = 'zhar'
    passs = 123
    if text_Ed1 == name1 and text_Ed2 == int(passs):
        messagebox.showinfo("Вход","Вы вошли в систему как -" + name1)
    else:
        messagebox.showinfo("Ошибка","Вы ввели не правильно имя или пароль")
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
27.11.2019, 09:13
Лучший ответ Сообщение было отмечено hardiKK как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from tkinter import *
from tkinter import messagebox
 
windows = Tk()
windows.title("Окно №1")
windows.geometry("300x250")
name1 = '123'
passs = '12345'
nVar = StringVar()
pVar = StringVar()
def regist():
    lab1 = Label(text = "Вход", font=("Arial Bold", 14))
    lab2 = Label(text = "Введите ваше имя")
    text_Ed1 = Entry(textvariable=nVar)
    lab3 = Label(text = "Введите пароль")
    text_Ed2 = Entry(textvariable=pVar)
    butt = Button(text = "Войти", command = vxod)
    lab1.pack()
    lab2.pack()
    text_Ed1.pack()
    lab3.pack()
    text_Ed2.pack()
    butt.pack()
 
 
 
def vxod(): 
    if nVar.get() == name1 and pVar.get() == passs:
        messagebox.showinfo("Вход","Вы вошли в систему как -" + name1)
    else:
        messagebox.showinfo("Ошибка","Вы ввели не правильно имя или пароль")
 
        
regist()
 
windows.mainloop()
1
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 81
27.11.2019, 09:26  [ТС]
tooru, Спасибо большое, по другому все оказалось )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.11.2019, 09:26
Помогаю со студенческими работами здесь

Оптимизировать код с условием на значение
Есть таблица с результатами инвентаризаций. На основании результата инвентаризации у каждого магазина за каждую инвентаризацию выставлена...

Код для установки фильтра с условием
Добрый день! Есть код для установки фильтра по дате (сегодняшний день - 2 дня): ActiveSheet.PivotTables(Сводная...

Код с условием по датам с запуском запроса
Добрый день. Подскажите пожалуйста, как прописать запуск запроса по условию с датами? Примерно должно быть так: If "Время...

Не срабатывает код
Есть скрипт, в котором объект при прикосновении к чему-либо уничтожается, есть скрипты, которые записывают время и прочее до уничтожения...

Не срабатывает код
Доброго времени суток.Есть одна задача,вкратце:нужно сделать поле -тип Документ.ссылка и кнопку,при нажатии на которую пишется сообщение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru