课程
/后端开发
/Python
/初识Python
x = 1n = 1while True: if n > 20: break x = x + x
n = n + 1
sum = sum + x
print sum
2019-05-23
源自:初识Python 5-6
正在回答
第一:sum没有初始值应该要先赋值为0,sum=0
第二:如果sum=sum+x放后面,第一次循环的时候先计算的是x=x+x =2 ,这样就少了第一个数x=1,这样计算的就是2+4+8+16+。。。+的二十个数,
第三: 要是改成这样的话,sum=sum+x放后面也是可以的
sum = 1
x = 1
n = 1
while True:
if n > 19:
break
x= x*2
n= n + 1
不是夜晚 提问者
夏柘析
sum = 0
if n > 20:
x = 2 ** (n - 1)
sum += x
n += 1
这样第一个x都加不进去,x=1是第一个数,sum要先加第一个数,你直接先x=x+x,sum直接加2
不清楚你说的“放在后面”是指的放在哪行代码的后面,如果是放到x = x + x,“前面”和“后面”进行对比,结果当然会不一样了,放到“后面”会多执行一次sum =sum +x
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序