这是一个问题:
编写一个名为sum_range的函数,该函数接受2个整数值作为参数,并返回两个值之间的所有整数之和,包括第一个和最后一个值。参数可以以任何顺序(即,第二参数可以小于第一参数)。例如:
结果= sum_range(1,1)打印(结果)1
结果= sum_range(2,4)打印(结果)9
结果= sum_range(3,2)打印(结果)5
我的代码如下,我不知道它出了什么问题,但是当我测试代码时,当输入(2,4)(3,2)时,它返回“ none”
def sum_range(x,y):
if x == y:
return x
if x<y:
sum(range(x,y))
return
if x>y:
sum(range(y,x))
return
您非常接近,但是忘记了从计算中返回实际值。如果仅键入“ return”,则将返回None而不是总和的结果。
您也没有在总和中包括范围中的最后一个数字。请参阅下面的更正代码:
def sum_range(x, y):
if x == y:
return x
if x < y:
return sum(range(x, y+1))
if x > y:
return sum(range(y, x+1))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句