首页 > 解决方案 > 为什么这是以下代码的输出?

问题描述

我无法理解为什么此代码的输出为 16。如果我的格式不正确,我深表歉意,我是编码新手。

我已经写了几次代码以确保我的格式正确

x = 1
while x < 10:
    x += x
print(x)

为我打印的输出是 16。

标签: python

解决方案


对于我,这说得通。该语句x += x相当于x *= 2, 加倍x

x为了帮助您理解,请在每次迭代后尝试打印:

x = 1
while x < 10:
    x += x
    print(x)

输出:

2
4
8
16

在每一步:

2    # greater than 10? no
4    # greater than 10? no
8    # greater than 10? no
16   # greater than 10? yes, stop loop

推荐阅读