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
”
不知道它意味着什么,也不知道如何纠正。帮助
由于
答案 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? "))