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

大佬们,我这个怎么不对,哪里有问题

a=1
b=0
while True:
    if a>1000:
        break
    b=b+a
    a=a*2
print(b)


正在回答

3 回答

a取偶数的写法有误,a*2得到的结果是2的平方数,2、4、8、16等等,其中类似6、10、12等偶数会错过。取模运算可判断奇偶数。

可参考:

num = sum = :
    (num > ):
        :
        (num % == ):
            sum += num
    num += (sum)


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

王胖子

num = 1 sum = 0 while True: if(num > 1000): break else: if(num % 2 == 0): sum += num num += 1 print(sum)
2026-04-08 回复 有任何疑惑可以回复我~

a=1

b=0

while True:

    if a>1000:

        break

    b=b+a

    print('a的值为:{}'.format(a)+'\n本次计算后,结果为{}'.format(b))

    a=a*2

print(b)


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

你说的是不是结果不对啊?我看程序没毛病,那个步增,应该是+2  还是乘于2?

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

举报

0/150
提交
取消

大佬们,我这个怎么不对,哪里有问题

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号