Почему Python не считает две строки равными? [дубликат]Python

Программы на Python
Anonymous
Почему Python не считает две строки равными? [дубликат]

Сообщение Anonymous »

Я новичок в программировании и Python, поэтому думаю, что есть очень простое решение, о котором я просто не знаю!
Я начинаю писать программу это будет фильтровать список ресторанов по местоположению, поэтому мне нужно, чтобы пользователь ввел одно из определенных заранее определенных мест. Проблема, с которой я столкнулся, заключается в том, что даже если мой ввод кажется идентичным моему заранее определенному списку, Python все равно считает эти две строки не равными? Почему?
Например. если я введу «Монтроз», Python все равно будет думать, что строки не равны.

Код: Выделить всё

location = input("What location do you want to find a restaurant in? Heights, Spring Branch, Montrose, Downtown, or West U/Rice? If you don't mind, type Surprise Me! ").lower().strip()
if location != "heights" or "spring branch" or "montrose" or "west u/rice" or "downtown" or "surprise me!":
sys.exit("Not a valid location")
Я попробовал преобразовать текст в строки на случай, если Python понадобится это прописать. Я попытался добавить строку print(location), чтобы посмотреть, смогу ли я обнаружить какие-либо различия, но ничего не вижу. Я использовал .lower() и .strip(), чтобы попытаться учесть ошибку пользователя при вводе, но Python по-прежнему не считает строки совпадающими. Я также попробовал print(repr(location)) и строка выглядит идентично, поэтому проблемы по-прежнему не вижу.

Подробнее здесь: https://stackoverflow.com/questions/784 ... s-as-equal

Вернуться в «Python»