код работает без ввода в начале, почему?

1

Если я удалю spam = input() в начале, код работает, когда я назначу значение для spam вручную. Однако, как показано ниже, когда мне предлагается дать значение spam, что бы я ни дал, он говорит мне "Приветствую!". Зачем?

spam = input()
if spam == 1:
    print('Hello')
elif spam == 2:
    print('Howdy')
else:
    print('Greetings!')
Теги:
if-statement
input

1 ответ

2
Лучший ответ

input возвращает строку, но вы сравниваете ее с целыми литералами (1 и 2). Один из вариантов заключается в использовании строковых литералов:

if spam == '1': # Here
    print('Hello')
elif spam == '2': # And here
    print('Howdy')
else:
    print('Greetings!') 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню