
Помогите скажите в чем ошибка в этом коде : from tkinter import * from tkinter import messagebox
import pickle HEIGHT = 550 WIDTH = 550 def registration(): label_error = None frame = Frame(root, bd=10) frame.place(relx=0.5, rely=0.2, relwidth=0.7, relheight=0.6, anchor='n') label = Label(frame, text='Sign Up', font='16') label.place(relwidth=1, relheight=0.1) label_login = Label(frame, text='Login: ') label_login.place(rely=0.2, relwidth=0.35,relheight=0.1) login_register = Entry(frame) login_register.place(relx=0.4, rely=0.2, relheight=0.1, relwidth=0.55) def signup(): nonlocal label_error error = '' if label_error: label_error.destroy() if len(login_register.get()) == 0: error = '*login error' elif len(password1.get()) button = Button(frame, text='Sign in',command=lambda: login_pass()) File "D:/Шаг/Средний/486/1.py", line 60, in login_pass a = pickle.load(f) EOFError: Ran out of input

Ответы на вопрос

у вас exception в функции / методе login_pass, из-за EOF.
судя по всему там делается pickle.load(f), где f -- файловый объект, в нем, как я догадываюсь, ваш какой-то сериализованный пиклом объект. скорее всего он поврежден :)
а вообще есть stackoverflow для таких вопросов, и желательно кидать код форматированным, и с нормальным стектрейсом и логами какими-нибудь :)



В коде, который вы предоставили, есть несколько синтаксических и структурных ошибок, а также недостающие фрагменты кода. Вот исправленный и комментированный код:
pythonfrom tkinter import *
from tkinter import messagebox
import pickle
HEIGHT = 550
WIDTH = 550
# Создание главного окна
root = Tk()
root.title("Registration")
# Функция регистрации
def registration():
def signup():
nonlocal label_error
error = ''
if label_error:
label_error.destroy()
if len(login_register.get()) == 0:
error = '*login error'
elif len(password1.get()) == 0: # Добавлена закрывающая скобка и двоеточие
error = '*password error'
if error:
label_error = Label(frame, text=error, fg='red')
label_error.place(rely=0.7, relwidth=1) # Установлено положение ошибки на форме
else:
# Добавьте код для сохранения данных регистрации (логин, пароль и т. д.)
# Например, можно использовать библиотеку pickle для сохранения данных в файл
frame = Frame(root, bd=10)
frame.place(relx=0.5, rely=0.2, relwidth=0.7, relheight=0.6, anchor='n')
label = Label(frame, text='Sign Up', font='16')
label.place(relwidth=1, relheight=0.1)
label_login = Label(frame, text='Login: ')
label_login.place(rely=0.2, relwidth=0.35, relheight=0.1)
login_register = Entry(frame)
login_register.place(relx=0.4, rely=0.2, relheight=0.1, relwidth=0.55)
label_password = Label(frame, text='Password: ') # Добавлено поле для ввода пароля
label_password.place(rely=0.4, relwidth=0.35, relheight=0.1)
password1 = Entry(frame, show='*') # Поле ввода пароля с заменой символов на *
password1.place(relx=0.4, rely=0.4, relheight=0.1, relwidth=0.55)
button = Button(frame, text='Sign up', command=signup)
button.place(rely=0.6, relwidth=0.5, relheight=0.1, relx=0.25) # Добавлены координаты для кнопки
# Запуск функции регистрации
registration()
# Запуск главного цикла обработки событий
root.mainloop()
Помимо исправления синтаксических ошибок и недостающих фрагментов кода, были добавлены комментарии для обозначения изменений. Вам также нужно будет добавить код для сохранения данных регистрации, например, с использованием библиотеки pickle.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili