Python - dado un número n, calcule la suma de los números desde 1 hasta n

   
Vista:

dado un número n, calcule la suma de los números desde 1 hasta n

Publicado por Ayuda amigos ivanedhudo@gmail.com (5 intervenciones) el 23/03/2017 14:10:10
Realice un programa con funciones que dado un número n, calcule la suma de los números desde 1 hasta n, es decir, n + (n − 1) + . . . + 3 + 2 + 1, y que al resultado de dicha suma lo separe en sus dígitos y calcule el producto de aquellos dígitos distintos de cero. Por ejemplo, si n = 10, su suma correspondiente ser´ıa 10 + 9 + . . . + 3 + 2 + 1 = 55, y el producto de los dígitos en 55 es 5 × 5 = 25.
Haga un programa con funciones para cualquier número natural n que ingrese el usuario, y que le indique la suma y el producto de dígitos distintos de cero, correspondientes.

prod_digitos_suma(15)
La suma desde 1 hasta 15 es 120
El producto de sus digitos distintos a cero es 2

prod_digitos_suma(20)
La suma desde 1 hasta 20 es 210
El producto de sus digitos distintos a cero es 2
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

dado un número n, calcule la suma de los números desde 1 hasta n

Publicado por Guillermo (12 intervenciones) el 06/04/2017 20:10:16
Este código podría valerte, viene ya comentado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def prod_digitos_suma(n):
    #creamos una variable s, donde almacenaremos la suma:
    s=0
    #con un bucle recorremos los números de 0 a n, y se los sumamos a s:
    for i in range(n+1):
        s+=i
    #creamos una variable p, donde almacenaremos el producto:
    p=1
    #convertimos s a una cadena:
    s1=str(s)
    #recorremos dicha cadena con un for:
    for numero in s1:
        #si el numero es 0 nos saltamos la iteracion
        if numero=="0":
            continue
        #myltiplicamos p por los enteros que van tomando el valor caracter, transformandolo antes en entero
        p*=int(numero)
    print("La suma de 1 hasta",n,"es",s)
    print("El producto de sus digitos distintos de 0 es",p)

Cualquier duda que tengas sobre él pregunta sin miedo.
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
Revisar política de publicidad