Python 明确函数中对象的定义和迭代

Python 明确函数中对象的定义和迭代,python,function,loops,object,iteration,Python,Function,Loops,Object,Iteration,下面的函数是这样定义的,它将数字从o添加到n值 for loop be default迭代它定义的元素。由范围(n+1)中的x表示,它从0开始分别接受数字,x是这样定义的 def sum1(n): 最终总和=0 对于范围(n+1)内的x: 最终总和+=1 返回最终金额 我预计sum1(5)的输出为6,但实际输出为15 有没有关于如何重新定义/更正输出的想法?只有当您通过5时,代码才会返回值6 用于范围(n+1)内的x-此语句循环遍历从x=0到5的代码。 对于x的每个值,final_sum将以f

下面的函数是这样定义的,它将数字从o添加到n值

for loop be default迭代它定义的元素。由范围(n+1)中的x表示,它从0开始分别接受数字,x是这样定义的

def sum1(n):
最终总和=0
对于范围(n+1)内的x:
最终总和+=1
返回最终金额
我预计sum1(5)的输出为6,但实际输出为15


有没有关于如何重新定义/更正输出的想法?

只有当您通过5时,代码才会返回值6

用于范围(n+1)内的x
-此语句循环遍历从x=0到5的代码。 对于x的每个值,final_sum将以final_sum+=1的语句递增1

def sum1(n):
    final_sum = 0
    for x in range(n+1):
        final_sum +=1
​
    return final_sum

sum1(5)
6

它实际上是6,只需通过确保return语句在for之外来修复缩进loop@DeveshKumarSingh如果取范围(n+1)中的x,它不应该对从0到n的所有数字求和。如果定义
n=9
itwill@DeveshKumarSingh如果我使用sum1(9),它给出10,它应该给出从0到9的数字之和,即45,然后你需要做
final_sum+=x
,因为现在你将它增加1,你的问题是
我预计sum1(5)的输出是6,但实际输出是15。
但我认为应该是相反的