Пользователь может ввести правильное слово с лишними пробелами или буквами другого регистра. Для Python строки "Альфа", " Альфа " и "АЛЬФА" различаются, пока программа их не подготовит к сравнению.
Убираем пробелы с помощью strip()
Метод strip() возвращает новую строку без пробелов в начале и конце:
callsign = " Альфа "
clean_callsign = callsign.strip()
print(clean_callsign) # Альфа
Исходная строка не изменяется. Результат метода нужно сохранить или сразу использовать.
Приводим буквы к одному регистру через lower()
Метод lower() возвращает строку в нижнем регистре:
print("Альфа".lower()) # альфа
print("АЛЬФА".lower()) # альфа
Теперь варианты можно сравнивать без зависимости от регистра.
Соединяем методы в цепочку
Методы строк можно вызывать последовательно:
callsign = input("Позывной: ").strip().lower()
Python выполняет цепочку слева направо:
input()получает строку;strip()убирает крайние пробелы;lower()приводит буквы к нижнему регистру;- итог сохраняется в
callsign.
Сравнивай две одинаково подготовленные строки:
if drone.name.lower() == callsign:
print("Дрон найден")
Частые ошибки
strip()не удаляет пробелы внутри текста:"Аль фа"останется таким же.- Методы нужно вызывать со скобками: правильно
text.lower(). - Не подготавливай только одну сторону сравнения, если вторая тоже может содержать заглавные буквы.
lower()иstrip()возвращают строки и не выводят результат сами.
Итог
strip() очищает края строки, а lower() делает сравнение независимым от регистра. Вместе они помогают принимать человеческий ввод без лишних отказов.
💬 Комментарии (0)
Комментариев пока нет
Станьте первым, кто поделится мнением об этой статье!