Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: ThePaquet1 en 28 Enero 2021, 20:00 pm



Título: Calcular la suma de los N primeros números elevados al valor P con Python
Publicado por: ThePaquet1 en 28 Enero 2021, 20:00 pm
Hola, necesito hacer un programa de Python que pida dos números. El primer número será N y el segundo P. Una vez obtenidos ambos números el programa deberá calcular la suma de los N primeros números elevados al valor P, siguiendo esta fórmula: 1^P + 2^P + 3^P + 4^P... + N^P

Si introduzco, por ejemplo, un 3 y un 5, el programa calculará lo siguiente: 1^5 + 2^5 + 3^5 = 276

Ahora mismo tengo de código esto:

---------------------------------------
num1 = input('Introduce el primer número: ')
num2 = input('Introduce el segundo número: ')

sum = float(num1) ** float(num2)

print('{0} elevado a {1} es {2}'.format(num1, num2, sum))
---------------------------------------

El problema es que no sé como hacer para que, por ejemplo, si yo introduzco un 3 y un 5, la operación sea 1 ^ 5 + 2 ^ 5 + 3 ^ 5, en vez de únicamente 3^5 que es lo que actualmente hace mi programa. ¿Alguien podría ayudarme?


Título: Re: Calcular la suma de los N primeros números elevados al valor P con Python
Publicado por: tincopasan en 28 Enero 2021, 20:32 pm
hay varias formas de resolver esto, siguiendo parte de tu lógica:

Código
  1. #-*- coding: utf -8 -*-
  2.  
  3. num1 = int(input('Introduce el primer número: '))
  4. num2 = int(input('Introduce el segundo número: '))
  5. sum = 0
  6. for x in range(1,num1 + 1):
  7.    sum += x ** num2
  8.    print(f'{x} elevado a {num2} es {x**num2}')
  9. print('la suma total es: ',sum)
  10.  
obviamente que está muy incompleto ya que entre otras cosas no tiene manejo de errores
tampoco entendí porque como float en vez de int
y como ves para realizar una operación varias veces se usa un bucle, en este caso for, pero también podría ser while
cambié tu formato de cadena por uno más legible para mí.

Otra cosa, hay un foro de script


Título: Re: Calcular la suma de los N primeros números elevados al valor P con Python
Publicado por: ThePaquet1 en 29 Enero 2021, 01:35 am
hay varias formas de resolver esto, siguiendo parte de tu lógica:

Código
  1. #-*- coding: utf -8 -*-
  2.  
  3. num1 = int(input('Introduce el primer número: '))
  4. num2 = int(input('Introduce el segundo número: '))
  5. sum = 0
  6. for x in range(1,num1 + 1):
  7.    sum += x ** num2
  8.    print(f'{x} elevado a {num2} es {x**num2}')
  9. print('la suma total es: ',sum)
  10.  
obviamente que está muy incompleto ya que entre otras cosas no tiene manejo de errores
tampoco entendí porque como float en vez de int
y como ves para realizar una operación varias veces se usa un bucle, en este caso for, pero también podría ser while
cambié tu formato de cadena por uno más legible para mí.

Otra cosa, hay un foro de script
No sabía de la existencia de los rangos con el for, lo tomaré en cuenta, muchísimas gracias.
Y por cierto, no sabía que había un foro para Python, perdón por eso  ;D


Título: Re: Calcular la suma de los N primeros números elevados al valor P con Python
Publicado por: tincopasan en 29 Enero 2021, 01:59 am
si le entendiste al código genial, sino pregunta, hay muchos usuarios de python, y el foro es de scriptng, o sea cualquier lenguaje no solo de python.