compareusr = str(input())
compare = "austin" or "cloud"
if compare == compareusr:
print("it worked")
else:
print("it didnt work")
Это может быть глупый вопрос. Я не очень хорошо владею python, но думал, что знаю достаточно для этой работы по сравнению.
Кто-нибудь знает, почему при input = cloud код не работает?!?!? Он работает с и, но почему он не работает с или?
Возможный дубликат stackoverflow.com/questions/44612144/…
compare = "austin" or "cloud" действует так же, как compare = "austin". Создайте список и проверьте состояние с помощью in.
Также: Как проверить несколько переменных на одно значение?
Возможный дубликат Логические операторы в Python
@PatrickArtner в этом случае or функционирует как Оператор Элвиса






Оператор or возвращает логическое значение. В вашем коде compare равен True, потому что строки не пусты. Преобразование input в str является избыточным.
compareusr = input()
compare = ["austin", "cloud"]
if compareusr in compare:
print("it worked")
else:
print("it didnt work")
Фактически, or в этом случае работает как оператор elvis. Это означает, что compare совпадает с "austin", потому что это не тип None.
Возможный дубликат Python проверяет, является ли строка одним из определенного набора значений