Сравнение с желаемой длиной
На этом этапе вы научитесь сравнивать длину строки с желаемой длиной. Это распространенная задача в программировании, особенно при валидации пользовательского ввода или обработке данных, которые должны соответствовать определенным требованиям по длине.
Создадим сценарий, в котором мы хотим убедиться, что имя пользователя, введенное пользователем, имеет длину от 3 до 10 символов. Измените файл string_length.py
в директории ~/project
, добавив следующий код:
## filename: string_length.py
username = input("Enter a username: ")
length = len(username)
if length < 3:
print("Username must be at least 3 characters long.")
elif length > 10:
print("Username must be no more than 10 characters long.")
else:
print("Username is valid.")
Сохраните файл и запустите его:
python ~/project/string_length.py
Если вы введете имя пользователя, которое слишком короткое:
Enter a username: ab
Вывод будет следующим:
Username must be at least 3 characters long.
Если вы введете имя пользователя, которое слишком длинное:
Enter a username: abcdefghijk
Вывод будет следующим:
Username must be no more than 10 characters long.
Если вы введете допустимое имя пользователя:
Enter a username: abcdef
Вывод будет следующим:
Username is valid.
Этот пример демонстрирует, как можно использовать функцию len()
для проверки, соответствует ли строка определенным критериям по длине.
Теперь рассмотрим более сложный сценарий, в котором мы хотим валидировать пароль. Пароль должен иметь длину от 8 до 16 символов и содержать хотя бы одну цифру. Измените файл string_length.py
следующим образом:
## filename: string_length.py
password = input("Enter a password: ")
length = len(password)
has_digit = False
for char in password:
if char.isdigit():
has_digit = True
break
if length < 8:
print("Password must be at least 8 characters long.")
elif length > 16:
print("Password must be no more than 16 characters long.")
elif not has_digit:
print("Password must contain at least one digit.")
else:
print("Password is valid.")
Сохраните файл и запустите его:
python ~/project/string_length.py
Если вы введете пароль, который слишком короткий:
Enter a password: abcdefg
Вывод будет следующим:
Password must be at least 8 characters long.
Если вы введете пароль, который слишком длинный:
Enter a password: abcdefghijklmnopq
Вывод будет следующим:
Password must be no more than 16 characters long.
Если вы введете пароль, который не содержит цифры:
Enter a password: abcdefgh
Вывод будет следующим:
Password must contain at least one digit.
Если вы введете допустимый пароль:
Enter a password: abcdefg1
Вывод будет следующим:
Password is valid.
Этот пример демонстрирует, как можно комбинировать функцию len()
с другими методами, например, проходом по строке для проверки наличия определенных символов, для выполнения более сложной валидации.