Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python定义级数和_Python_Sum - Fatal编程技术网

用Python定义级数和

用Python定义级数和,python,sum,Python,Sum,我试图定义数列求和,就像数学符号“Sigma”,而它的函数是分离的,以后可以从不同的定义中调用 上面是我所做的,但它返回错误: 未定义“arg1” 有什么解决办法吗 加: 为什么它不返回55?在最后一行代码中,您尝试将arg1作为参数传递,但在该范围中并没有定义此类对象。 您的函数中还存在一些bug。这个实现可能会有所帮助 def Series_Sum(arg1, arg2): for arg1 in range(arg2+1): result =+ arg1

我试图定义数列求和,就像数学符号“Sigma”,而它的函数是分离的,以后可以从不同的定义中调用

上面是我所做的,但它返回错误:

未定义“arg1”

有什么解决办法吗

加:


为什么它不返回55?

在最后一行代码中,您尝试将arg1作为参数传递,但在该范围中并没有定义此类对象。 您的函数中还存在一些bug。这个实现可能会有所帮助

def Series_Sum(arg1, arg2):
    for arg1 in range(arg2+1):
        result =+ arg1       
    return result

print(Series_Sum(0,10))

结果->
2415

是。解决方案是传递实际定义的内容。。。(提示:这不是
arg1
)而且,您正在返回循环内部,破坏了循环的目的。你知道为什么吗?你确定缩进吗?记住,在python中它很重要。而且,
result=+3
可能无法满足您的要求。它影响值
+3
结果
。它的
+=
不是
=+
为什么结果=0必须在for station启动之前发生?在使用结果变量之前需要定义它。。。您可能将result=0行放在for循环中,它必须放在for循环之前的函数中。除非您不打算使用它,否则不要将
\uuu
用作该范围内每个元素的名称<代码>函数(41;的形式很差。如果在某个范围内迭代并使用该范围内的数字,为什么不使用真正有意义的变量名,例如:
范围内的n(arg1,arg2+1)
…@blacksite Edited。
def Series_Sum(arg1, arg2):
    for arg1 in range(arg2+1):
        result =+ arg1       
    return result

print(Series_Sum(0,10))
def Series_Sum(arg1, arg2, function):
    result = 0
    for x in range(arg1,arg2+1):
        result += function(x) 
    return result

Series_Sum(0,10, <function goes here>)
# myFunction returns square of the input number
def myFunction(num) :
    return num**2

def Series_Sum(lower, upper, function) :
    result = 0
    for x in range(lower,upper+1) :
        result += function(x)
    return result

# print sum of series : 6^2 + 7^2 + 8^2 + ... + 20^2
print(Series_Sum(6,20,myFunction))