为了账号安全,请及时绑定邮箱和手机立即绑定

x = x * 2 和x = x + 2^(n -1) ,为什么不能啊,没明白

sum = 0
x = 1
n = 1
while True:
    sum = sum + x
    x = x + 2^(n-1)
    n = n + 1
    if n > 20:
        break
print sum

正在回答

7 回答

^这个符号不是次方符号,而是异或符号或者说XOR符号,平常也不怎么用,只有加解密上用过其他时候也没用过这个东西

0 回复 有任何疑惑可以回复我~
sum = 0 
n = 1
x = 1
while True:
    x = 2 ** (n - 1)   #python中指数运算符为**,不是平时计算器上的^
    sum = sum + x
    n = n + 1 
    if n > 20:
        break
print sum


0 回复 有任何疑惑可以回复我~

*在语句中是乘法的意思,**在语句中是幂的意思,^属于没学过的符号,随便输入导致错误,而且式子也应该是x**(n-1)

0 回复 有任何疑惑可以回复我~

x = x + 2^(n-1)

改成

x=x*2


0 回复 有任何疑惑可以回复我~
sum = 0
x = 1
n = 1
while True:
    sum = sum + x
    x = x + 2^(n-1)
    n = n + 1
    if n > 20:
        break
    print (sum,end='  ')


0 回复 有任何疑惑可以回复我~

百度了下:python ^

^是按位异或逻辑运算符,比如5^6,其实是101^110,结果是011,所以5^6的答案是3

0 回复 有任何疑惑可以回复我~

https://img1.sycdn.imooc.com//5c247a2c0001f04d02800301.jpg

必须承认,我还没有学到python的这个符号^

但是从在命令行里的尝试来看。

python的^并不是我们数学常用的求幂次缩写。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

x = x * 2 和x = x + 2^(n -1) ,为什么不能啊,没明白

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信