如何将原始输入数字转换为Python中的整数列表?

问题描述:

我有这样的代码写的:如何将原始输入数字转换为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

我会简单地做,而不会影响可读性。 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