问答详情
源自:4-6 Python之break跳出循环

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

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


提问者:夜长情_alzAVY 2025-02-09 00:02

个回答

  • 王胖子
    2026-04-08 14:34:59

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

    可参考:

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


  • 慕仰5416853
    2025-02-09 15:53:04

    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)


  • 慕仰5416853
    2025-02-09 15:49:47

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