Глава 8 · Играем с буквами и словами

Мини-проект — проверка пароля и e-mail

Собираем методы проверки строк в две практичные программы валидации ввода.

Мини-проект — простая проверка пароля

Соберём несколько правил (длина, наличие цифры, наличие буквы) в одну проверку — используя методы проверки из раздела 8.11:

proverka_parolya.py
password = input("Придумайте пароль: ")

dostatochno_dlinnyj = len(password) >= 8
est_cifra = any(ch.isdigit() for ch in password)
est_bukva = any(ch.isalpha() for ch in password)

print(f"Длина от 8 символов: {dostatochno_dlinnyj}")
print(f"Есть цифра: {est_cifra}")
print(f"Есть буква: {est_bukva}")

nadyozhnyj = dostatochno_dlinnyj and est_cifra and est_bukva
print(f"Пароль надёжный: {nadyozhnyj}")
Забегаем вперёд
any(...) с выражением внутри — это компактная форма цикла из раздела 8.13: «есть ли хотя бы один символ, для которого условие верно». Подробно операторы and/or и такие компактные конструкции разберём в главах 9–10.

Мини-проект — простая проверка e-mail

Настоящая проверка email — сложная задача (для неё существуют специальные библиотеки), но базовые «здравые» проверки уже можно сделать тем, что мы знаем: in (раздел 8.12), count() и find() (раздел 8.10):

proverka_email.py
email = input("Ваш e-mail: ").strip()

est_sobachka = "@" in email
odna_sobachka = email.count("@") == 1
est_tochka_posle = "." in email[email.find("@"):]

pohozhe_na_email = est_sobachka and odna_sobachka and est_tochka_posle
print(f"Похоже на e-mail: {pohozhe_na_email}")
# ввод: "ada@cartesianschool.org"
# Похоже на e-mail: True
★★ Самостоятельная задача
Своё правило

Добавьте к проверке пароля ещё одно правило: пароль не должен содержать пробелов (используйте isspace() или in " "). Проверьте программу на пароле с пробелом и без.

Практика: проверка пароля и e-mail
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →