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

Ошибка 107 в PyCharm пытаюсь запустить код в PyCharm и вылетает ошибка 107. Как исправить ошибку?

максим гузенко Ученик (73), открыт 1 день назад
вот код
import sys
import re
from PyQt6 import QtWidgets, QtCore

class RegistrationApp(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.init_ui()

def init_ui(self):
self.setWindowTitle("Регистрация пользователя")
self.setGeometry(100, 100, 300, 200)

# Создание элементов интерфейса
self.email _label = QtWidgets.QLabel("Электронная почта:")
self.email _input = QtWidgets.QLineEdit()

self.password_label = QtWidgets.QLabel("Пароль:")
self.password_input = QtWidgets.QLineEdit()
self.password_input.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)

self.confirm_password_label = QtWidgets.QLabel("Подтвердите пароль:")
self.confirm_password_input = QtWidgets.QLineEdit()
self.confirm_password_input.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)

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

# Упаковка элементов в вертикальный layout
layout = QtWidgets.QVBoxLayout()
layout.addWidget( self.email _label)
layout.addWidget( self.email _input)
layout.addWidget(self.password_label)
layout.addWidget(self.password_input)
layout.addWidget(self.confirm_password_label)
layout.addWidget(self.confirm_password_input)
layout.addWidget(self.register_button)

self.setLayout(layout)

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

if not self.validate_email(email):
QtWidgets.QMessageBox.warning(self, "Ошибка", "Неверный формат электронной почты.")
return

if password != confirm_password:
QtWidgets.QMessageBox.warning(self, "Ошибка", "Пароли не совпадают. Попробуйте снова.")
self.password_input.clear()
self.confirm_password_input.clear()
return

if len(password) < 6:
QtWidgets.QMessageBox.warning(self, "Ошибка", "Пароль должен содержать не менее 6 символов.")
self.password_input.clear()
self.confirm_password_input.clear()
return

# Здесь можно добавить код для сохранения данных в базу данных
QtWidgets.QMessageBox.information(self, "Успех", "Регистрация прошла успешно!")

def validate_email(self, email):
# Простой регулярный выражение для проверки формата электронной почты
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
return re.match(pattern, email) is not None

if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = RegistrationApp()
window.show()
sys.exit(app.exec())
2 ответа
Pomogay Мудрец (15988) 1 день назад
import sys
import re
from PyQt6 import QtWidgets, QtCore


class RegistrationApp(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.init_ui()

def init_ui(self):
self.setWindowTitle("Регистрация пользователя")
self.setGeometry(100, 100, 300, 200)

# Создание элементов интерфейса
self.email _label = QtWidgets.QLabel("Электронная почта:")
self.email _input = QtWidgets.QLineEdit()

self.password_label = QtWidgets.QLabel("Пароль:")
self.password_input = QtWidgets.QLineEdit()
self.password_input.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)

self.confirm_password_label = QtWidgets.QLabel("Подтвердите пароль:")
self.confirm_password_input = QtWidgets.QLineEdit()
self.confirm_password_input.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)

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

# Упаковка элементов в вертикальный layout
layout = QtWidgets.QVBoxLayout()
layout.addWidget( self.email _label)
layout.addWidget( self.email _input)
layout.addWidget(self.password_label)
layout.addWidget(self.password_input)
layout.addWidget(self.confirm_password_label)
layout.addWidget(self.confirm_password_input)
layout.addWidget(self.register_button)

self.setLayout(layout)

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

if not self.validate_email(email):
QtWidgets.QMessageBox.warning(self, "Ошибка", "Неверный формат электронной почты.")
return

if password != confirm_password:
QtWidgets.QMessageBox.warning(self, "Ошибка", "Пароли не совпадают. Попробуйте снова.")
self.password_input.clear()
self.confirm_password_input.clear()
return

if len(password) < 6:
QtWidgets.QMessageBox.warning(self, "Ошибка", "Пароль должен содержать не менее 6 символов.")
self.password_input.clear()
self.confirm_password_input.clear()
return

# Здесь можно добавить код для сохранения данных в базу данных
QtWidgets.QMessageBox.information(self, "Успех", "Регистрация прошла успешно!")

def validate_email(self, email):
# Простой регулярный выражение для проверки формата электронной почты
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
return re.match(pattern, email) is not None


if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = RegistrationApp()
window.show()
sys.exit(app.exec())
Pretty Monkey Мастер (2435) 1 день назад
В вашем коде есть ошибки в именовании переменных:

self.email _label — пробел между email и _label.

self.email _input — пробел между email и _input.

Эти пробелы вызывают синтаксические ошибки в Python. Исправьте их:

python
Copy
self.email _label = QtWidgets.QLabel("Электронная почта:")
self.email _input = QtWidgets.QLineEdit()
Похожие вопросы