我在python中进行了数学测验。我的所有代码都运行正常但是当我打印问题时,它会用括号和逗号和撇号打印它们。
question = number1, '+', number2
这是我元组的名称:
answer = int(input("What is {}?".format(question)))
这就是我打印问题的地方:
What is (2, '*', 4)?
这就是我的输出的样子。 我想知道如何删除(,'',)。 感谢。
答案 0 :(得分:2)
关于您的错误:
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 {}
答案 1 :(得分:1)
你的问题应该是
question = '{} {} {}'.format(number1, operator, number2)
答案 2 :(得分:0)
不确定为什么需要格式化两次
answer = int(input("What is {0} + {1}?".format(number1, number2)))