2012-07-10 13 views
8

¿Cómo puedo aceptar múltiples entradas de usuario separadas por un espacio? No sé la cantidad de entradas, pero sí sé que todas son entradas.acepta múltiples entradas de usuario separadas por un espacio en python y las agrega a una lista

Aquí hay algunas entradas de ejemplo:

13213 412 8143 
12 312 
1321 142 9421 9 29 319 

Sé que puede hacer esto si sé el número de entradas de antemano, pero estoy teniendo problemas para hacer esta genérico. Tan sólo pudiera pedir al usuario que introduzca el número de grupos de enteros que lo hará de entrada:

inputs = int(raw_input("Enter number of raw inputs ")) 
num = [] 
for i in xrange(1, inputs): 
    num.append(raw_input('Enter the %s number: ')) 

Pero yo estoy buscando una solución más elegante que no requiere preguntar al usuario 2 preguntas.

Respuesta

23
s = raw_input("Please enter your numbers: ") 

mynums = [int(i) for i in s.split()] 
# OR 
mynums = map(int, s.split()) 
+3

argv! vencerme por 26 segundos! – inspectorG4dget

+0

@ inspectorG4dget gracias! les puse a los dos, tengo que ser justo, aunque el oneliner es mucho más elegante – pyCthon

+0

+1 a ambos - @ inspectorG4dget reconocimiento especial para "argv!" – mgilson

12

Prueba esto:

nums = [int(i) for i in raw_input("Enter space separated inputs: ").split()] 
0

para Python 2.x

x, y = mapa (Int., Raw_input split()())

se necesita dos variables xey de tipo int separadas por espacio y puede reemplazar int por el tipo deseado

para 3.x pitón

x, y = input(). Split()

se necesitan dos variables x e y de tipo de cadena separadas por espacio y tiene que convertir explícitamente

0

x,y=map(int,input().split()) #this tomará la entrada separada por el espacio y el mapa #into int

+0

No veo ninguna etiqueta o comentario para qué idioma es esto. ¿Puedes aclarar la pregunta? – TravisEz13

Cuestiones relacionadas