Python 中指数(N 和 P)的数字之和
Sum of numbers with exponent (N and P) in Python
我需要制作一个 Python 程序来请求两个数字。 N 是第一个数,P 是第二个数,程序必须计算前 N 个数的总和到值 P,公式如下:1^P + 2^P + 3^P + 4^P... + N^P
例如,如果我输入 3 和 5,它将进行以下计算:1^5 + 2^5 + 3^5 = 276
这是我目前拥有的:
num1 = input('Enter first number: ')
num2 = input('Enter second number: ')
sum = float(num1) ** float(num2)
print('{0} raised to the power of {1} is {2}'.format(num1, num2, sum))
问题是我不知道如何让程序计算如果我输入的第一个数字是3,第二个是5,做1 ^ 5 + 2 ^ 5 + 3 ^ 5,而不是只是做 3 ^ 5(就像我的程序一样)。
有人能帮我吗?非常感谢!
总结一个列表理解可能会成功:
p = 5
n = 3
sum((i+1) ** p for i in range(n)) # 276
(i+1) ** p for i in range(n)
是一个生成器表达式,为 [0, n-1] 中的每个 i 生成 (i+1)^p。对其调用 sum
returns 这些项的总和。
正如@Gino Mempin所说,循环是一个好的开始。
def sum_exponents(end_num, exp):
sum_ = 0
for n in range(int(end_num)):
n += 1
sum_ += n ** float(exp)
return sum_
num1 = input('Enter first number: ')
num2 = input('Enter second number: ')
print('{0} raised to the power of {1} is {2}'.format(num1, num2, sum_exponents(num1, num2)))
我需要制作一个 Python 程序来请求两个数字。 N 是第一个数,P 是第二个数,程序必须计算前 N 个数的总和到值 P,公式如下:1^P + 2^P + 3^P + 4^P... + N^P
例如,如果我输入 3 和 5,它将进行以下计算:1^5 + 2^5 + 3^5 = 276
这是我目前拥有的:
num1 = input('Enter first number: ')
num2 = input('Enter second number: ')
sum = float(num1) ** float(num2)
print('{0} raised to the power of {1} is {2}'.format(num1, num2, sum))
问题是我不知道如何让程序计算如果我输入的第一个数字是3,第二个是5,做1 ^ 5 + 2 ^ 5 + 3 ^ 5,而不是只是做 3 ^ 5(就像我的程序一样)。 有人能帮我吗?非常感谢!
总结一个列表理解可能会成功:
p = 5
n = 3
sum((i+1) ** p for i in range(n)) # 276
(i+1) ** p for i in range(n)
是一个生成器表达式,为 [0, n-1] 中的每个 i 生成 (i+1)^p。对其调用 sum
returns 这些项的总和。
正如@Gino Mempin所说,循环是一个好的开始。
def sum_exponents(end_num, exp):
sum_ = 0
for n in range(int(end_num)):
n += 1
sum_ += n ** float(exp)
return sum_
num1 = input('Enter first number: ')
num2 = input('Enter second number: ')
print('{0} raised to the power of {1} is {2}'.format(num1, num2, sum_exponents(num1, num2)))