Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: thejaks77 en 5 Diciembre 2016, 22:58 pm



Título: Problema con un ejercicio
Publicado por: thejaks77 en 5 Diciembre 2016, 22:58 pm
Hola buenas, tengo que hacer un ejercicio de python que lea una lista de números y escriba por pantalla una lista con los cuadrados de los números enteros leídos y los números de la lista original. No comprendo el porque me salta un error en esta linea de código " n=int(input("Nuevo número: "))" la que se encuentra dentro del bucle, alguien sabe ¿porqué?:

Código
  1. print("Ve introduciendo números enteros, o una cadena vacía para acabar...")
  2. n=int(input("Nuevo número: "))
  3. lista=[]
  4.  
  5. while n != "":
  6.    lista.append(n)
  7.    n=int(input("Nuevo número: "))
  8.  
  9. lista_cuadrada=[]
  10. for i in range(lista):
  11.    lista_cuadrada.append(lista[i]**2)
  12.  
  13. print("Cuadrados de los números leídos: {0}".format(lista_cuadrada))
  14. print("Números leídos: {0}".format(lista))


El error es el siguiente:

Traceback (most recent call last):
File "C:\Users\TheJaks77\workspace\Programacion\Practicas\Prac4\ej04.py", line 7, in <module>
n=int(input("Nuevo número: "))
ValueError: invalid literal for int() with base 10: ''

MOD: Etiqueta GeSHi.


Título: Re: Problema con un ejercicio
Publicado por: tincopasan en 6 Diciembre 2016, 06:48 am
pues el mensaje te lo dice! int no puede convertir a entero una cadena vacía! o sea está mal la lógica del script

ahh por cierto esta línea también está mal:
Código
  1. lista_cuadrada.append(lista[i]**2)