当我尝试输入一个数字进入系统时,我收到一个错误。
userInput= int(input("What is", RanNum1," - ", RanNum2," = ?"))
这是有问题的代码,错误包含:
Traceback (most recent call last):
File "H:/Project/MathProgram.py", line 144, in <module>
userAnswer = Addition(RanNum1, RanNum2)
File "H:/Project/MathProgram.py", line 33, in Addition
userInput= int(input("What is", RanNum1," - ", RanNum2," = ?"))
TypeError: input expected at most 1 arguments, got 5
我不知道为什么请帮忙!!!
答案 0 :(得分:4)
input
需要一个字符串,而不是5个参数。
您可以使用format
函数使用这些变量生成字符串。
userInput= int(input("What is {} - {} = ?".format(RanNum1, RanNum2))
答案 1 :(得分:1)
这是传递给input
的五个参数:
input("What is", RanNum1, " - ", RanNum2, " = ?")
使用str.format
方法提供单个字符串进行输入。
inputstring = "What is {0} - {1} = ?".format(RanNum1, RanNum2)
userInput= int(input(inputstring))
答案 2 :(得分:1)
错误很清楚......你传递了5个参数:
userInput= int(input("What is", RanNum1," - ", RanNum2," = ?"))
^^^ ^^^ ^^^ ^^^ ^^^
1 2 3 4 5
来自Java,是吗?的: - )强>
如果你想在python中的字符串中显示变量,你可以查看string formatting(使用其他答案)或者你也可以这样做:
userInput= int(input("What is %s - %s = ?" % (RanNum1, RanNum2)))
此外,如果您使用Python 2.x(任何少于3的版本)运行此操作,我强烈建议您使用raw_input而不是input。输入将eval用户输入为python代码,eval is evil!
答案 3 :(得分:0)
虽然print
可选择多个参数,但input
不会。
您需要使用format
函数 - userInput= int(input("What is {} - {} = ?".format(RanNum1, RanNum2))
,或添加值userInput= int(input("What is" + str(RanNum1) + " - " + str(RanNum2) + " = ?"))
(第一个选项最好)。