2017-05-05 68 views
2

我试图在for循环中设置多个播放器的名字,但是由于输入只接受一个字符串作为参数,所以我遇到了困难。我试图做的是这样的:可以处理多个参数的输入

for i in range(len(game)): 
    game[i].set_name(input("Player ", i, ": ")) 

其中game是一个对象数组。我想知道是否有办法在一个班轮中做到这一点。

+0

它不清楚你的问题是什么.... –

+0

本质上,我想用户提示'Player 1:','Player 2:'on命令行,但我不能这样做,因为'输入'只需要一个单一的字符串参数,例如我可以做'播放器:','播放器:'。我上面的代码给出错误'输入最多1个参数,得到2'' – quantik

回答

3

你想要的格式字符串,我认为

input("Player {player_num}: ".format(player_num=i)) 

,如果你真的想表现得像打印我想你可以做这样的事情

def my_input(*args): 
    return input(" ".join(map(str,args))) 

但真正犯规多大意义做

+0

是的,就像我想要的东西。谢谢! – quantik

3

是否要将元素连接为单个字符串?

for i in range(len(game)): 
    game[i].set_name(input("Player " + str(i) + ": ")) 
1

我相信你的问题已经解决了,但我会给出不同的想法:

你为什么不让玩家插入的所有球员的名字,并要求他将其用空格分隔。

你将有一个字符串, 与COMAND

var.split() 

你将有名称的列表中使用,由他们给他们的顺序。 你也可以sen参数分裂为美国逗号或分号作为分隔符