快捷导航

大神求教Python基础问题!!!跪求!

sum = 0x = 1n = 0while True:    x = 2**n    n = n+1    sum =sum+x    if n>=20:        breakprint sum#这个print出来是1048575可是

sum = 0n = 0while True:    n = n+1    sum =sum+(2**n)    if n>=20:        breakprint sum#这个print出来是2097150这两个值正好是两倍关系,为什么啊?只是一个将2**n赋值给x,一个没有设x直接sum中写2**n,实际上不是一样的吗???

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员1

whileTrue:x=2**nx=2**0=1n=n+1sum=sum+xsum=sum+1ifn>=20:breakprintsum#################################whileTrue:n=n+1sum=sum+(2**n)#这里去掉了n=0是加的值1,n直接等于2了,且这个是1-20的和ifn>=20:breakprintsum######################################whileTrue:sum=sum+(2**n)n=n+1#这才是0-19的和ifn>=20:breakprintsum
回复

使用道具 举报

可能感兴趣的问答

发新帖
TA的信息
  • 会员所属: 注册会员
  • 认证信息: 邮箱认证手机认证
  • 微信访问
  • 手机APP