2013-10-17 140 views
-5

我希望用戶輸入數量計劃,並曾數寫入列表這樣的:的Python:在列表編號

[1,2,3,4,5,6] # wanting result 

list.append(int(input())) # code 

但我得到它:

[123456] 

我如何打了一堆數字的數字?

謝謝)

+0

你是如何輸入數據的?它是在一個循環中。如果你輸入'123456',你想怎麼解釋?如果您希望將每個字符作爲數字取下來,那麼只要意識到不能有2位數字。大多數人會將新線路分開。 – Hoopdady

回答

2

如果用戶輸入一個字符串(所以123456),您必須添加單個字符是這樣的:

mylist = [] 
inp = input() 
for c in inp: 
    mylist.append(int(c)) 
+1

'mylist = list(inp)'更容易。 – chepner

+0

我知道這是可能的,但我試圖儘可能地保持代碼儘可能接近OP,而不引入不必要的函數。它可以用單行來完成,但這並不一定能讓人們更容易理解錯誤。 –

2

這取決於用戶正在進入。如果用戶只需輸入>>> 123456,你可以使用:

user_list = [int(x) for x in input()] 

更一般地,你將不得不找出預期的用戶輸入是什麼,並解析。

+0

它看起來像OP想要添加到預先存在的列表,而不是創建一個全新的列表。 – arshajii

+0

我從所述的期望輸出,單輸入語句和不正確的輸出(其中沒有任何其他元素)進行外推。但我明白你的觀點;如果OP想要附加到一個已有的列表,我的示例需要改變一下。 – dckrooney