О вашей ошибки:
question = number1, '+', number2
определяет кортеж с 3-х элементов
Пример :
>>> question = 2, '+', 4
>>> print(question)
(2, '+', 4)
>>> type(question)
tuple
С "What is {}?".format(question)
вы строите str
по одному параметру question
. Метод format
преобразует кортеж question
в str
и вставляет его в string
. Вот почему ваш вывод содержит (
, '
и )
как кортеж.
>>> str((2, '*', 4))
(2, '*', 4)
В вашем случае вы можете построить str
вопрос с помощью этого:
question = "%i + %i" % (number1, number2)
или
question = "{} + {}".format(number1, number2)
и использовать его снова в функции input()
:
answer = int(input("What is {} ".format(question)))
Или вы можете использовать кортежquestion
непосредственно так:
question = number1, '+', number2
answer = int(input("What is {} {} {}".format(*question)))
*
преобразует переменный кортеж/список со списком параметров. Таким образом, у вас есть 3 параметра. Из-за этого вам нужно 3 {}
Это не имеет смысла, вы используете «+», и он выводит «*»? И уверены ли вы, что он печатает скобки? – activatedgeek
str ((2, '*', 4)). Replace (",", "") .replace ("'", "") – AceLearn
Где разместить это? – Callum