Как сделать так, чтобы программа выводила приветствие, только когда пользователь пишет "Привет" или "Здравствуйте"?

import datetime


now = datetime.datetime.now()
hour = now.hour
a = str(input())

if hour < 12:
    greeting = "Доброе утро"
elif hour < 18:
    greeting = "Добрый день"
else:
    greeting = "Добрый вечер"
        
if a == "Привет" or "Здравствуйте":
    print("{}!".format(greeting))

Ответы (1 шт):

Автор решения: Jack_oS
a = input()  # input() сразу возвращает строку

проверяйте или так:

if a == "Привет" or a == "Здравствуйте":
    print("{}!".format(greeting))

или так:

if a in ["Привет", "Здравствуйте"]:
    print("{}!".format(greeting))

т.е.:

from datetime import datetime


hour = datetime.now().hour
a = input()

if hour < 12:
    greeting = "Доброе утро"
elif hour < 18:
    greeting = "Добрый день"
else:
    greeting = "Добрый вечер"

if a in ["Привет", "Здравствуйте"]:
    print(f"{greeting}!")

Ассоциация: проблемы строчного “or”

→ Ссылка