«Остальное» заявление не отвечает

Я написал программное обеспечение, которое должно реагировать на ввод пользователя, однако

оператор if больше не возвращает

print("#" * 9)

Commands that you can use:
-------------------------
1. Theme A – Home and abroad
1.1 Life in the town and rural life
1.2 
""")
question = input("Topic: ")

RuralLife = """
 Theme A – Home and abroad

"""

if question == "Theme A – Home and abroad" or "Life in the town and rural life":
    print(RuralLife)
else:
    print("Please Select Topic")```

Всего 3 ответа


if question == "Theme A – Home and abroad" or "Life in the town and rural life" всегда будет верной, потому что она оценивается так:

#                  boolean                   or                 boolean
if (question == "Theme A – Home and abroad") or ("Life in the town and rural life")

Первый логический (question == "Theme A – Home and abroad") будет истинным или ложным в зависимости от значения question .

Вторая "Life in the town and rural life" всегда будет правдой, так как строка не является ложной ценностью

something_true_or_false or true == true

Измените ваше состояние на:

# Check this ---------------------------------v----------v
if question == "Theme A – Home and abroad" or question == "Life in the town and rural life"

Ваша проблема в вашем заявлении if.

if question == "Theme A – Home and abroad" or "Life in the town and rural life":

интерпретируется как

if (question == "Theme A – Home and abroad") or "Life in the town and rural life":

А в python строка, которая не является пустой, оценивается как True.

Вы можете исправить это, заменив условие if на

if question in ("Theme A – Home and abroad", "Life in the town and rural life"):

Попробуйте этот код ниже, проблема с условием или

print("#" * 9)

print("""
Commands that you can use:
-------------------------
1. Theme A – Home and abroad
1.1 Life in the town and rural life
1.2 
""")

question = input("Topic: ")

RuralLife = """
 Theme A – Home and abroad

"""

if question == "Theme A – Home and abroad" or question == "Life in the town and rural life":
    print(RuralLife)
else:
    print("Please Select Topic")

Или вы можете написать условие if, как это

if question in ("Theme A – Home and abroad", "Life in the town and rural life"):
    print(RuralLife)
else:
    print("Please Select Topic")

Есть идеи?

10000