Возникли проблемы при обновлении ввода Python в нижний регистр - PullRequest
0 голосов
/ 23 сентября 2018

Итак, я пытаюсь создать программу, которая учитывает выбор продуктов.Я хочу, чтобы пользователь мог вводить свой выбор в заглавных буквах, чтобы затем я мог преобразовать его в нижний регистр и затем сравнить его с помощью оператора if

Name = str(input("What is your Name?"))
Name = ''.join(Name.split())
foodChoice = str(input("Would you like a Burger or Salad?"))
foodChoice = foodChoice.lower()

if foodChoice == 'burger':
    print("true")
else:
    print("false")

Давайте предположим, что пользователь вводит "BurgER"

Проблема, с которой я сталкиваюсь, заключается в том, что даже после преобразования «BurgER» в строчные буквы после объявления ввода оператор if по-прежнему считает его ложным ... взгляните на мой пример вывода ниже

Как тебя зовут? Джейсон

Хотите бургер или салат? Burger

false

Процесс завершен с кодом выхода 0

РЕДАКТИРОВАТЬ:проблема, кажется, в том, что я добавил пробел перед тем, как гамбургер по привычке: /, на этой ноте, есть ли способ объяснить это?

Ответы [ 2 ]

0 голосов
/ 23 сентября 2018

Глядя на ваш вывод, проблема в том, что вы добавили пробел перед тем, как ваш ввод, который сделал утверждение, оценивается как ложный.

Чтобы избежать этого, я советую вам использовать strip функция, таким образом удаляя пробелы в начале и конце строки.

Так, в вашем случае это будет:

foodChoice = foodChoice.lower().strip()

Дополнительно, вы можете использовать rstrip()удалить только пробелы с правой стороны строки, а lstrip() - с пробелов с левой стороны.

0 голосов
/ 23 сентября 2018

Вы можете использовать метод полосы, который удаляет пробелы из начала и конца строки.

Изменить

foodChoice = foodChoice.lower()

На

foodChoice = foodChoice.lower().strip()

Больше информации можно найти в этом ответе .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...