【发布时间】:2013-11-30 15:11:53
【问题描述】:
def makelist():
list = []
initial = [0, 100]
a = 1
while a <= 10:
new_num = (initial[0] + initial[1])//2
if new_num%2 == 0:
initial[1] = new_num
else:
initial[0] = new_num
list.append(initial)
a += 1
return list
为什么上面的代码会返回:
[[43, 44], [43, 44], [43, 44], [43, 44], [43, 44], [43, 44], [43, 44], [43, 44], [43, 44], [43, 44]]
而不是:
[[0, 50], [25, 50], [37, 50], [43, 50], [43, 46], [43,44], [43, 44], [43, 44], [43, 44], [43, 44]]
即。连续分区而不是最后分区 10 倍。
谢谢
【问题讨论】:
-
您应该熟悉使用的任何 IDE 中的标准调试器。很有帮助!
标签: python list loops while-loop