Python: Cómo convertir la entrada del usuario en una lista

Soy nuevo en este sitio y esta es mi primera pregunta: me gustaría escribir un progtwig de Python, que le pide al usuario que ingrese un número 7 veces cada uno. Esta entrada debe convertirse en una lista y mostrar primero los números individuales, y luego mostrar la lista como un todo. Así que mi pensamiento fue que comenzaría con un bucle for.

for a in range(1,8): number = int(input("please enter a number")) b = [a] print(b) 

Lo siento si la pregunta es un poco confusa. Me gustaría que el usuario ingrese un número, lo convierta en una lista y este proceso se debe repetir 7 veces. Al final, el progtwig debe poder combinar todas las listas individuales de un número en una lista que contenga todos los números. Así que debe verse así: ingrese el número: ingreso: 4 “su número fue 4” ingrese el número: ingreso: 14 “su número fue: 14”. Introduzca el número: entrada: 25 “su número fue 25” (… repita hasta 7 veces) Y al final: Su lista es: [4,14,25, …]

 result = [] for a in range(1,8): number = int(input("please enter a number: ")) result.append(number) print result 

Una salida de muestra es como:

 python stackoverflow_1.py please enter a number: 1 please enter a number: 2 please enter a number: 3 please enter a number: 4 please enter a number: 5 please enter a number: 6 please enter a number: 7 [1, 2, 3, 4, 5, 6, 7] 
 Numbers = [] for a in range (1,8): number = int(input("Please enter a number:")) Numbers.append(number) print(number) 

Suponiendo que no necesita mostrar una lista cada vez (vea mi comentario):

 b = [] for a in range(7): number = int(input("please enter a number: ")) b.append(number) print(number) print (b) 

Entonces, parece que eres bastante nuevo en Python o que no estás familiarizado con las estructuras de datos integradas. Sin embargo, siempre es obligatorio recomendar la documentación . Si eres nuevo en la progtwigción de computadoras y no solo en las estructuras de datos de Python, también hay otros recursos que son valiosos para el aprendizaje.

Para la respuesta más completa a la pregunta, que incluye el formato de cadena y las secuencias de escape, este método obtendrá el resultado exacto.

 def collect_user_input(): list_of_numbers = [] for x in range(7): number = int(input("Enter a Number: ")) list_of_numbers.append(number) print("\nYour number was: %d\n" % number) print("Your list is: \n", list_of_numbers) collect_user_input() 

También puede obtener todos los números de una sola vez:

 nums = input("Please input space seperated numbers - as much as you need: ") splitted = list(map(int, (x for x in nums.split() if x.isdigit()) ) ) print(splitted) 

Salida para la entrada "5 4 55 6 asdf 923 7.23" :

 Please input space seperated numbers - as much as you need: 5 4 55 6 asdf 923 7.23 [5, 4, 55, 6, 923] 

Esto elimina las entradas no enteras que se ingresan automáticamente y convierte el rest en números enteros.

Puede limitar los números analizados fe por:

 splitted = splitted[:7] # 7 numbers at most - might be less - you need to check with if 

Doku:

  • mapa()
  • En t()
  • str.split ()
  • str.isdigit ()

Explicación para la list(map(int, (x for x in nums.split() if x.isdigit()) ) )

  • crea una lista
    • de aplicar int()
      • a cada elemento de split() de su entrada
        • solo si la parte isdigit() x es True si se prueba con isdigit()
 l1=[] for i in range(1,11): inp=int(input("enter a number")) l1.append(inp) print(l1)