2016-11-18 89 views
-2

我已经看到负载的说,使用{}或str()+使输入()只得到1参数。Python“输入预计最多1个参数,得到3”

但是输入的哪些部分需要与这些输入一起使用?这是我的代码

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

我敢肯定的3个参数是“做什么”,“名称[] x”和“分数” 我怎么会做这些一个参数,同时保持相同的顺序和意义?

+0

您可以将只有1参数列表.. –

+0

我不是只在列表中添加一件事?无论用户放什么? –

+0

尝试格式化为@Philipp Ploder回答。 –

回答

3

可以格式化字符串,这样您只通过1个论点:如果您要添加多个参数

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

然而做到这一点:

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

好的!这已经修复了输入。然而,稍后,当我尝试打印5分的平均值时,它表示“不支持/:'str'和'int'的操作数类型”显然,添加的东西的类型有些问题一起(分数列表中的所有项目),但我是否需要将该列表中的所有项目更改为浮动? –

+0

@rosteratbest我调整了我的答案,%s是字符串,%d是整数,%f是浮点值 –

0

您在全同时加入三个参数该函数仅期望一个只传递一个参数:

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

%语法是旧的语法。尝试学习新的语法以及

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

这个网站有常见的用法的新旧之间的一些良好的故障:https://pyformat.info/

相关问题