Python 错误 - TypeError:最多输入 1 个参数,得到 3 个

新手上路,请多包涵

有人可以解释为什么我不能在目标变量中使用 your_name 吗?

 my_name = "Bryson"
my_age = 29
your_name = input ("What is your name? ")
your_age = input ("What is your age? ")
print ("My name is", my_name,", and I am", my_age, "years old.")
print ("Your name is", your_name,", and you are", your_age,".")
print("Thank you for buying my book,", your_name,"!")
goal = input ("What was your favorite part of the book,", your_name, "?")
print("Awesome!")

我得到的错误是:

 goal = input ("What was your favorite part of the book,", your_name, "?")
TypeError: input expected at most 1 arguments, got 3

原文由 Ben Liongson 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.7k
1 个回答

你得到那个错误是因为你实际上给了 3 个参数给 input 函数,而它只需要 1 个(即字符串提示)。

 In input ("What was your favorite part of the book,", your_name, "?")
           ---------------------------------------- , ---------, ---

带下划线的部分是逗号分隔的参数:一个字符串(“What is ….book”,一个变量 your_name 和另一个字符串,“?”

我想你想要的是

goal = input("What was your favorite part of the book, " + your_name + "?")

这里的连接运算符 + 将这些成分组合成一个字符串 - 字符串是 input 期望的一个参数

原文由 John Coleman 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题