不知道为什么我得到一个TypeError

时间:2013-09-05 06:41:36

标签: python typeerror

num_trades = int(input("Number of trades for today? "))
for i in range(1, num_trades + 1):
    print()
    action = input("Trade number", i, "(buy/sell)? ")
    num_shares = int(input("Number of shares to buy? "))

我在行TypeError

上收到了"action = input("Trade number", i, "(buy/sell)? ")"

此错误消息显示“TypeError: input expected at most 1 arguments, got 3

不知道它意味着什么,也不知道如何纠正。帮助

由于

4 个答案:

答案 0 :(得分:5)

您将3个参数传递给input()

action = input("Trade number", i, "(buy/sell)? ")

只需要一个;只有print()需要多个参数。使用字符串格式:

action = input("Trade number {} (buy/sell)? ".format(i))

或使用字符串连接:

action = input("Trade number " + str(i) + " (buy/sell)? ")

但是这需要您明确地将i转换为字符串。

答案 1 :(得分:1)

那是因为你用3个参数调用输入

使用

input("Trade number " + str(i) + " (buy/sell?")

代替

答案 2 :(得分:0)

错误告诉你完全出了什么问题。 input函数需要一个参数,但是你给了它三个。

而不是

input("Trade number", i, "(buy/sell)? ")

尝试

input("Trade number " + str(i) + " (buy/sell)? ")

你可能感到困惑,因为你可以print多个事情,用逗号分隔,但99%的地方,这是行不通的。 input希望你给它一个字符串参数,并在那里放置逗号,你给它三个参数。我的建议将这三个字符串连接成一个,我们传递给input

答案 3 :(得分:0)

该函数仅使用一个参数,而不是3.您的意思是:

num_trades = int(input("Number of trades for today? "))
for i in range(1, num_trades + 1):
print()
action = input("Trade number " + str(i) + " (buy/sell)? ")
num_shares = int(input("Number of shares to buy? "))