2017-05-05 67 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參數分裂爲美國逗號或分號作爲分隔符