как выдавать разные выходные данные в зависимости от входных данных в python?

#python #python-3.x

#python #python-3.x

Вопрос:

я пытаюсь выдавать разные выходные данные в зависимости от входных данных, но я получу один и тот же результат для всех входных данных.

я попытался удалить оператор «или», и код будет работать нормально! но при повторном использовании оператора «или» код не будет работать так, как должен

 voroodi = input('Enter Something: ')
if voroodi == 'h' or 'H':
    print('hello')
elif voroodi == 'g' or 'G':
    print('Goodbye')
  

я ожидаю получить вывод «Hello», когда я ввожу «H» или «h» в качестве входных данных
и «Прощай» для «G» «g».

но я просто получаю привет для любого ввода, который я ввожу!

Комментарии:

1. if voroodi.lower() == 'h':

2. или: if voroodi in ('h', 'H'):

Ответ №1:

or так не работает. Вы должны сказать;

 if voroodi == 'h' or vortoodi == 'H':
  

’H’ рассматривается все само по себе True . Любая непустая строка считается true, поэтому ваше исходное утверждение if voroodi == 'h' or True: всегда верно.

Ответ №2:

Это должно быть

 if voroodi == 'h' or voroodi == 'H':
    print('hello')
elif voroodi == 'g' or voroodi == 'G':
    print('Goodbye')
  

Решение Rakesh также будет worl k

Ответ №3:

Вы можете использовать оператор in :

 voroodi = input('Enter Something: ')
if voroodi in 'hH':
    print('hello')
elif voroodi in 'gG':
    print('Goodbye')