Python“;输入最多需要1个参数,得到3个“;

Python“;输入最多需要1个参数,得到3个“;,python,input,Python,Input,我已经看到了大量的答案,说使用{}或str()+使input()只得到一个参数 但输入的哪些部分需要与之配套?这是我的代码 name.append(input("What is their name")) score.append(input("What did", name[x], "score")) 我很确定这3个参数是“what did”,“name[]x”和“score” 如何在保持相同顺序和含义的情况下生成一个参数?您可以设置字符串格式,以便只传递一个参数: score.append

我已经看到了大量的答案,说使用{}或str()+使input()只得到一个参数

但输入的哪些部分需要与之配套?这是我的代码

name.append(input("What is their name"))
score.append(input("What did", name[x], "score"))
我很确定这3个参数是“what did”,“name[]x”和“score”
如何在保持相同顺序和含义的情况下生成一个参数?

您可以设置字符串格式,以便只传递一个参数:

score.append(input("What did %s score" % name[x]))
但是,如果要添加多个参数,请执行以下操作:

score.append(input("%s scored %d points!" % (name[x], points)))

您总共添加了三个参数,而函数只需要一个参数,因此只传递一个参数:

name.append(input("What is their name"))
score.append(input("What did %s score" % name[x]))

%
语法是旧语法。试着学习新的语法

score.append(input("What did {} score".format(name[x])))

这个网站对新旧之间的常用用法有一些很好的分类:

你只能在列表中添加一个参数。我不是只在列表中添加一个吗?不管用户怎么说?试着按照@Philipp Ploder的回答格式化。好的!这修正了输入。然而,稍后,当我试图打印5个分数的平均值时,它会显示“不支持的操作数类型/:‘str’和‘int’”。很明显,相加的类型(分数列表中的所有项目)有问题,但我需要将该列表中的所有项目更改为浮动吗?@Rosterati调整了我的答案,%s表示字符串,%d表示整数,%f表示浮点值