Ошибка, которую вы делаете здесь, заключается в том, что вы сравниваете string
из input()
с int
(в данном случае 26).
Итак, ваше сравнение: is 26 = "26 "?
Что не получается, так как число 26 не равно строке 26. Вы также можете добавить проверки на тип ввода, если он является sting, и попытаться привести его к типу int, но это должно сделайте трюк для простого случая.
Ваша программа просто нуждается в небольшой корректировке:
def bst_q(question, answer):
rq = int(input(str(question)))
if rq == answer:
print ('Correct, Well done')
elif rq != answer:
print ('wrong')
bst_q('What is 13 times 2?', 26)
Ответ от @azro правильный, в том смысле, что вы не должны использовать elif, а только иначе вместо В зависимости от того, что вы хотите, вы можете либо привести свой ответ к строке, например: bst_q('What is 13 times 2?', "26")
, либо, как я предложил, вы приведете ввод к целому числу. Действительно зависит от того, чего вы здесь пытаетесь достичь.