Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Скрипт на проверку совпадения пароля.

Илья Вовненко Ученик (220), открыт 1 месяц назад
я хочу сделать проверку пароля на Python для этого я создал 2 Entry кода куда можно вводить текст, passFialed и passFialedConfirm. Для проверки пароля я сделал условие

def cmd():
if passFialedConfirm != passFialedConfirm:
return messagebox.showerror(title='Error', message='Password Error!')
else:
return messagebox.showinfo(title="Register", message="Successfully!")

def cmd() - вызывает данное условие по нажатию кнопки, но когда я нажимаю кнопку то мне пишет в консоль



Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py", line 1948, in __call__
return self.func(*args)
^^^^^^^^^^^^^^^^
File "<string>", line 7, in cmd
NameError: name 'passFialedConfirm' is not defined



библиотеки Tkinter и Tkinter.messagebox импортированы.
что делать я не знаю помогите.
1 ответ
CPT Просветленный (20572) 1 месяц назад
Конечно, давайте разберемся с вашим кодом. Проблема, которую вы описали, связана с тем, что переменная passFialedConfirm не определена. Давайте исправим это.

Ваша функция cmd() проверяет, равны ли passFialedConfirm и passFialedConfirm. Однако вместо этого вы, вероятно, хотели сравнить passFialedConfirm с passFialed. Давайте внесем соответствующие изменения:
 import tkinter as tk 
from tkinter import messagebox

def cmd():
if passFialedConfirm.get() != passFialed.get():
messagebox.showerror(title='Ошибка', message='Пароли не совпадают!')
else:
messagebox.showinfo(title="Регистрация", message="Успешно!")

# Создаем графический интерфейс
root = tk.Tk()
root.title("Проверка пароля")

# Создаем поля ввода
passFialed = tk.Entry(root, show="*")
passFialedConfirm = tk.Entry(root, show="*")

# Создаем кнопку для вызова функции cmd()
button = tk.Button(root, text="Проверить пароль", command=cmd)

# Размещаем элементы на форме
passFialed.pack()
passFialedConfirm.pack()
button.pack()

root.mainloop()
В этом исправленном коде я добавил создание объектов passFialed и passFialedConfirm с помощью tk.Entry(), чтобы вы могли получить значения из полей ввода. Теперь при нажатии кнопки будет выполняться правильное сравнение паролей.
Похожие вопросы