所以我在edx上学习并在嵌套循环上练习 而且我很难理解我是如何得到错误答案的。
这是练习
m = 0
for x in range (1,3):
k = 0
for y in range (-2,0):
k = k + y
m = m + k
print (m)
我知道当有一个嵌套循环时,第一个for循环将迭代一次,然后继续进行第二个for循环,这将迭代完成,所以我凭这些知识开始做数学运算:
0+-2 k=-2
0+-2 m=-2
-2+-1 k=-3
-2+-3 m=-5
-3+-2 k=-5
-5+-2 m=-7
0+-1 k=-1
-7+-1 m=-16
我最终得到-16
答案 0 :(得分:3)
对于k
的每次迭代,您正在将x
重置为0。您的计算假定k
未重置。
您可以通过打印k
和m
的中间值:
m = 0
for x in range (1,3):
k = 0
for y in range (-2,0):
k = k + y
m = m + k
print(k, m)
# -2 -2
# -3 -5
# -2 -7
# -3 -10