我不懂为什么是sum = sum + i + 1

img


假如n是2的话,那就会有两次循环,第一次I等于1, sum就等于2,第二次I等于2,sum就等于2➕2➕1等于4了吗,我是这样理解的

因为range()左边默认是从0开始,而且是左闭右开,即右边的数字拿不到,所以你图片中代码才会 +1,可能写成这样你比较容易理解吧

n = int(input("请输入一个正整数:"))
sum = 0

for i in range(1,n+1):
    sum += i
    
print("求和结果:%d" % sum)

i从0开始哦,range(5)->i为0,1,2,3,4.然后range(1,5)->i为1,2,3,4

i从0开始,(第二次I等于2,sum就等于2➕2➕1等于4了吗)此时等于5,剩下的都对了