我试图创建一个功能,提示用户为他们指定的每个圆圈提供一个半径,但是,我似乎无法弄清楚如何在不运行的情况下显示它进入TypeError: input expected at most 1 arguments, got 2
def GetRadius():
NUM_CIRCLES = eval(input("Enter the number of circles: "))
for i in range(NUM_CIRCLES):
Radius = eval(input("Enter the radius of circle #", i + 1))
GetRadius()
答案 0 :(得分:1)
那是因为你给了它第二个参数。您只能为它提供要显示的字符串。这不是自由格式的打印语句。试试这个:
Radius = eval(input("Enter the radius of circle #" + str(i + 1)))
这为您提供了一个字符串值,可以发送到输入。
此外,非常小心使用 eval 。
答案 1 :(得分:1)
input
只需要一个参数,如果你想创建一个可以使用i
值的字符串
Radius = eval(input("Enter the radius of circle #{} ".format(i + 1)))
答案 2 :(得分:0)
TypeError:输入最多需要1个参数,得到2
多数民众赞成因为你为输入函数提供了两个参数但它需要一个参数(是的,我改写了错误信息......)。
无论如何,请使用:
Radius = float(input("Enter the radius of circle #" + str(i + 1)))
不要使用eval
。 (其他答案解释了原因)
对于未来的问题,在python解释器中使用help
函数是值得的。在python解释器中尝试help(input)
。