无法弄清楚为什么我的循环无法退出并打印正确的时间

时间:2019-05-02 20:44:00

标签: python-3.x

编写一个while循环,该循环计算从1到20的整数的乘积,但是在累加的乘积超过10亿(1000000000)之后停止。之后打印计算出的产品的价值。

提示:您会发现break语句很容易应对这一挑战,并且您可能希望通过执行以下操作来积累产品:product * = i。这意味着您需要将产品累加器初始化为1,如下所示。

查看代码

i = 1
product = 1

while i<21:
    product *= i
    i += 1

    if product > 1000000000000:
        break

print(product)

我希望一旦产品超过10亿就退出循环,并立即打印该数字,输出为1307674368000,但知道应该为6227020800。

2 个答案:

答案 0 :(得分:1)

您的循环目前以1万亿退出。将其更改为10亿,并且输出达到预期:

i = 1
product = 1

while i < 21:
    product *= i
    i += 1
    if product > 1000000000:
        break

print(product)

输出

6227020800

答案 1 :(得分:1)

您的代码是正确的,但您使用了1000000000000而不是1000000000。为防止出现此类问题,请使用下划线:

if product > 1_000_000_000:
    break