有关求和
sum=0for i in range(101):
sum+=i
print(sum)
我记得这个代码最后得到的应该是从1到100的和,但为什么最后得到的确是
0
1
3
6
10
15
......
问题出到哪里了?
问题出在你的 `print(sum)` 语句的位置。代码当前的逻辑是在每次循环时都打印一次 `sum` 的值,因此你看到了每个中间值。
如果你只想看到从1到100的和,把 `print(sum)` 移到循环外面即可:
sum = 0
for i in range(101):
sum += i
print(sum)
这样,`print(sum)` 只会在循环结束后执行一次,输出的就是1到100的和,也就是5050。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 我的结果是这样的,没什么问题啊
sum = 0
for i in range(101):
sum +=i
print(sum)
0
1
3
6
10
15
21
28
36
45
55
66
78
91
105
120
136
153
171
190
210
231
253
276
300
325
351
378
406
435
465
496
528
561
595
630
666
703
741
780
820
861
903
946
990
1035
1081
1128
1176
1225
1275
1326
1378
1431
1485
1540
1596
1653
1711
1770
1830
1891
1953
2016
2080
2145
2211
2278
2346
2415
2485
2556
2628
2701
2775
2850
2926
3003
3081
3160
3240
3321
3403
3486
3570
3655
3741
3828
3916
4005
4095
4186
4278
4371
4465
4560
4656
4753
4851
4950
5050
print(sum) 没有缩进~
应该是这样:
sum = 0
for i in range(101):
sum +=i
print(sum)
你写成了这样:
sum = 0
for i in range(101):
sum +=i
print(sum)
问题:缩进。
for循环循环了100次,所以sum也就输出了100次。
把print(sum)从for循环中移出来即可。
建议修改代码:sum=0
for i in range(101):
sum+=i
print(sum)
小甲鱼 发表于 2024-8-25 20:55
print(sum) 没有缩进~
应该是这样:
54秒前{:10_277:}
{:10_245:} 三体人的智子 发表于 2024-8-25 20:57
54秒前
{:9_235:} 巧了~ 有道理
缩进是python的特色,也是其bug。有时查看别人的代码,缩进错了,硬是搞不懂呢!
页:
[1]