2013-02-21 68 views
0

我有這樣的代碼寫的:如何將原始輸入數字轉換爲Python中的整數列表?

猜測=名單()

playerNumber = raw_input 
('Please enter a four digit number for which all the digits are different.') 
p = str(playerNumber) 

guess = [int(p[0]),int(p[1]),int(p[2]),int(p[3])] 

我想用戶給定爲單個整數列表一個四位數字的原始輸入轉換。我的代碼不起作用。我怎樣才能做到這一點?

+1

順便說一句,'raw_input'只返回一個字符串迭代。這裏不需要在'playerNumber'上使用'str'。 – 2013-02-21 19:17:32

回答

4

我會簡單地做,而不會影響可讀性。 Python內置地圖,將回調應用到序列的每個元素和/或可迭代。它在這裏調用int將序列中的每個元素轉換爲整數。另外需要注意的是,一個字符串是一個迭代的,可以在單個字符

playerNumber = raw_input('Please enter a four digit number for which all the digits are different.') 

playerNumber = map(int, playerNumber) 
+0

啊,我現在看看OP在說什麼。尼斯。 – mgilson 2013-02-21 19:12:44

+0

@mgilson:是的,有時很難理解OP在他的問題中的意圖 – Abhijit 2013-02-21 19:14:38

+0

@Abhijit:出於某種原因,當我使用map()或嘗試時,出現「TypeError:'builtin_function_or_method'對象不可迭代的錯誤單獨使每個元件的整數,如下所示: 'p =的raw_input (「請輸入其中所有的數字是不同的一個四位數字。」) 克=列表(p) 猜測= [INT (G [0]),INT(克[1]),INT(克[2]),INT(克[3])]' – 2013-02-25 00:25:33

相關問題