哪里出问题了?
这段代码的运行结果为2097150,提交的时候一直提示"请检查输出是否匹配:1048575.."请问哪里错了呢?我检查了好久,始终找不到原因,求高手解答.
2016-05-04
sum = 0 x = 1 n = 1 while True: if n > 20: break sum = sum + x x = x * 2 n = n + 1 print sum
差别就是 sum = sum + x 放的位置, 最后一次 的x 的值 是1048576,这是n 是21, 正确的代码 这次的x 的值没有加给sum (在 if 语句处,break 出循环)。 而题主的代码, x 是1048576 的时候 直接加给了 sum 而后才在if 出跳出循环, 另外 题主的sum 第一次执行的是 sum = sum (0) + x (2), 没有从1 开始。
其实要想 知道循环的过程 只要在 sum = sum + x 前面插上一句 print x 就好了。
举报