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

Кто может проветь код мой в питоне и каждая действие за скринить и скинуть мне выдаёт ошибку 107

максим гузенко Ученик (75), открыт 1 неделю назад
вот код
import sys
from PyQt6.QtWidgets import (
QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit, QPushButton, QMessageBox
)

class DatabaseApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
self.users = {} # Словарь для хранения пользователей (email: password)

def initUI(self):
self.setWindowTitle('База данных курьерской фирмы')
self.setGeometry(100, 100, 300, 250)

layout = QVBoxLayout()

self.email _label = QLabel('Электронная почта:')
self.email _input = QLineEdit()
layout.addWidget( self.email _label)
layout.addWidget( self.email _input)

self.password_label = QLabel('Пароль:')
self.password_input = QLineEdit()
self.password_input.setEchoMode(QLineEdit.EchoMode.Password)
layout.addWidget(self.password_label)
layout.addWidget(self.password_input)

self.register_button = QPushButton('Зарегистрироваться')
self.register_button.clicked.connect(self.register)
layout.addWidget(self.register_button)

self.login_button = QPushButton('Войти')
self.login_button.clicked.connect(self.login)
layout.addWidget(self.login_button)

self.setLayout(layout)

def register(self):
email = self.email _input.text()
password = self.password_input.text()

if email in self.users:
QMessageBox.warning(self, 'Ошибка', 'Пользователь с такой электронной почтой уже существует.')
else:
self.users[email] = password
QMessageBox.information(self, 'Успех', 'Регистрация прошла успешно!')

# Запрос повторного ввода электронной почты и пароля
self.request_credentials()

def request_credentials(self):
email, ok1 = QInputDialog.getText(self, 'Введите электронную почту', 'Электронная почта:')
if not ok1:
return

password, ok2 = QInputDialog.getText(self, 'Введите пароль', 'Пароль:', QLineEdit.EchoMode.Password)
if not ok2:
return

if email in self.users and self.users[email] == password:
QMessageBox.information(self, 'Успех', 'Вход выполнен успешно!')
else:
QMessageBox.warning(self, 'Ошибка', 'Пароль неверный. Попробуйте еще раз.')

def login(self):
email = self.email _input.text()
password = self.password_input.text()

if email in self.users and self.users[email] == password:
QMessageBox.information(self, 'Успех', 'Вход выполнен успешно!')
else:
QMessageBox.warning(self, 'Ошибка', 'Пароль неверный. Попробуйте еще раз.')

if __name__ == '__main__':
app = QApplication(sys.argv)
window = DatabaseApp()
window.show()
sys.exit(app.exec())
3 ответа
Timur Magerramov Профи (675) 1 неделю назад
Какая именно ошибка?
максим гузенкоУченик (75) 1 неделю назад
ошибка 107 пишет
S.H.I. Оракул (68648) 1 неделю назад
У вас есть пробелы в именах переменных: self.email _label и self.email _input.
Рустам Абдрашитов Мудрец (10853) 1 неделю назад
На
 import sys 
from PyQt6.QtWidgets import (
QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit,
QPushButton, QMessageBox, QInputDialog
)

class DatabaseApp(QWidget):
def __init__(self):
super().__init__()
self.users = {}
self.setup_ui()

def setup_ui(self):
self.setWindowTitle('База данных курьерской фирмы')
self.setGeometry(100, 100, 300, 250)

layout = QVBoxLayout()

self.email_input = QLineEdit()
self.email_input.setPlaceholderText('Электронная почта')
layout.addWidget(QLabel('Электронная почта:'))
layout.addWidget(self.email_input)

self.password_input = QLineEdit()
self.password_input.setEchoMode(QLineEdit.EchoMode.Password)
self.password_input.setPlaceholderText('Пароль')
layout.addWidget(QLabel('Пароль:'))
layout.addWidget(self.password_input)

for btn_text, handler in [
('Зарегистрироваться', self.register),
('Войти', self.login)
]:
btn = QPushButton(btn_text)
btn.clicked.connect(handler)
layout.addWidget(btn)

self.setLayout(layout)

def show_message(self, title, text, is_error=False):
msg_type = QMessageBox.warning if is_error else QMessageBox.information
msg_type(self, title, text)

def validate_credentials(self, email, password):
if not email or not password:
self.show_message('Ошибка', 'Заполните все поля', True)
return False
return True

def register(self):
email = self.email_input.text().strip()
password = self.password_input.text().strip()

if not self.validate_credentials(email, password):
return

if email in self.users:
self.show_message('Ошибка', 'Пользователь уже существует', True)
return

self.users[email] = password
self.show_message('Успех', 'Регистрация успешна!')
self.request_credentials()

def request_credentials(self):
email, ok1 = QInputDialog.getText(self, 'Вход', 'Электронная почта:')
if not ok1:
return

password, ok2 = QInputDialog.getText(
self, 'Вход', 'Пароль:',
QLineEdit.EchoMode.Password
)
if not ok2:
return

self.verify_login(email, password)

def verify_login(self, email, password):
if email in self.users and self.users[email] == password:
self.show_message('Успех', 'Вход выполнен успешно!')
else:
self.show_message('Ошибка', 'Неверные учетные данные', True)

def login(self):
email = self.email_input.text().strip()
password = self.password_input.text().strip()

if not self.validate_credentials(email, password):
return

self.verify_login(email, password)

if __name__ == '__main__':
app = QApplication(sys.argv)
window = DatabaseApp()
window.show()
sys.exit(app.exec())
максим гузенкоУченик (75) 1 неделю назад
со ровно код 107
максим гузенко Ученик (75) можете проверить код на скинуть скрин пожалуйста
Похожие вопросы