Python - Sumar digitos al terminar un ciclo

 
Vista:
sin imagen de perfil
Val: 38
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Sumar digitos al terminar un ciclo

Publicado por Jose (17 intervenciones) el 03/12/2018 09:27:01
Buenos dias.
Llevo un par de dias intentando hacer un programa y no consigo que funcione. Agradeceria ayuda porque estoy perdido.
El programa pide que introduzca numeros positivos de uno en uno. Para cada número, y antes de pedir el siguiente, el programa debe dar el cuadrado y el cubo.
Cuando el usuario introduzca un numero que no sea positivo, el programa debe cortar el bucle y proporcionar la suma de todos los números introducidos desde el principio.
He intentado crear una lista llamada TOTAL donde se vayan acumulando los numeros introducidos antes del break, para luego sumarlos, pero el ciclo se repite cada vez que finaliza y borra tambien la lista TOTAL. He intentado ponerla en varias posiciones y no funciona.
No se me ocurre otra manera. ¿Podeis echarme una mano? Gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
while True:
    n=int(input("Ingrese un número positivo mayor que 0: "))
    total=[]
    if   n <=0:
            print ("La suma de los numeros introducidos es", sum(total))
            print("Fin del ciclo")
            break
    else:
        total.append(n)
        cuadrado=n**2
        cubo=n**3
        print ("El cuadrado del número ", n, "es", cuadrado)
        print ("El cubo del número ", n, "es", cubo)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 765
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Sumar digitos al terminar un ciclo

Publicado por dario (185 intervenciones) el 03/12/2018 10:00:02
Hola, la variable total = [] debe estar fuera del ciclo antes del while.
Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 38
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Sumar digitos al terminar un ciclo

Publicado por Jose (17 intervenciones) el 03/12/2018 11:57:03
Hola Dario. Ya lo intenté pero sigue dando cero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 765
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Sumar digitos al terminar un ciclo

Publicado por dario (185 intervenciones) el 03/12/2018 15:26:50
Deberia quedarte asi, lo he probado y si funciona.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
total = []
 
while True:
    n=int(input("Ingrese un número positivo mayor que 0: "))
    if   n <=0:
            print ("La suma de los numeros introducidos es", sum(total))
            print("Fin del ciclo")
            break
    else:
        total.append(n)
        cuadrado=n**2
        cubo=n**3
        print ("El cuadrado del número ", n, "es", cuadrado)
        print ("El cubo del número ", n, "es", cubo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 38
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Sumar digitos al terminar un ciclo

Publicado por Jose (17 intervenciones) el 03/12/2018 16:47:58
Gracias.
No entiendo qué pasó. Ya lo habia probado así y no me funcionó. Quizá tenia alguna otra cosa diferente.
Un Saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar