Python 如何将f(k)插入到一个系列中?
假设你有f(x)=x^2,你想要一个从k=1到n的系列。如何在python中输入并打印结果? 我试着这样做了n=10Python 如何将f(k)插入到一个系列中?,python,Python,假设你有f(x)=x^2,你想要一个从k=1到n的系列。如何在python中输入并打印结果? 我试着这样做了n=10 n=10 def f(x): return x^2 sum = 0 for k in range(1, n): Sum = sum + f(k) 我不知道如何打印,更不用说我是否打印正确了 我知道可以将k^2的和表示为n(n+1)(2n+1)/6,但我只是以x^2为例。首先sum是一个内置函数,因此您不应该将其用作变量名,因为python只会让您本着
n=10
def f(x):
return x^2
sum = 0
for k in range(1, n):
Sum = sum + f(k)
我不知道如何打印,更不用说我是否打印正确了
我知道可以将k^2的和表示为n(n+1)(2n+1)/6,但我只是以x^2为例。首先
sum
是一个内置函数,因此您不应该将其用作变量名,因为python只会让您本着“我们都是同意的成年人”的精神覆盖变量。范例
map
函数在以下范围内应用使用def
或lambda
定义的函数:
n = 5
def f(x):
return x*x
print([ f(i) for i in range(n)])
# [0, 1, 4, 9, 16]
print(sum([ f(i) for i in range(n)]))
# 30
n = 10
f = lambda x: x*x
print(map(f, range(n)))
# [0, 1, 4, 9, 16]
# one line equivalent : print(map(lambda x: x*x, range(n)))
print(sum(map(f, range(n))))
# 30
n = 5
f = lambda x: x*x
s = 0
for i in range(n):
s += f(i)
print(s)
# 30
最后,如果速度/效率是您必须考虑的因素,您可以查看
numpy
库。例如,请参见我的一篇关于在一个范围内应用函数的文章。我来这里是为了这个标题。
n = 5
f = lambda x: x*x
s = 0
for i in range(n):
s += f(i)
print(s)
# 30