Сравнение пользовательского ввода с переменной
У меня такая вот проблема:
#coding:utf-8
import random
a = random.randint(0,5)
b = random.randint(0,5)
c = a + b
print(c)
d = input('Ответ:')
if (c == d):
print('Да')
else:
print('Нет')
Программа складывает 2 рандомных числа и сравнивает результат с пользовательским вводом. Но, когда я ввожу правильный ответ,программа выводит мне 'Нет'.Объясните мне, пожалуйста, что я сделал не так?
Ответы (2 шт):
Автор решения: YanaC
→ Ссылка
d = input('Ответ:')
Ввод сохраняется в формате str, а сравниваете вы с int. Вам нужно переписать эту строку как преобразование строки в число:
d = int(input('Ответ:'))
И все заработает.
Автор решения: Mikkel Ontberg
→ Ссылка
Т.к. input() возвращает строковое значение, его нужно приводить к нужному типу данных, в данном случае int. Поэтому будет:
d = int(input('Ответ:'))