Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Can';I don’我不明白为什么我的循环不会退出并在正确的时间打印_Python 3.x - Fatal编程技术网

Python 3.x Can';I don’我不明白为什么我的循环不会退出并在正确的时间打印

Python 3.x Can';I don’我不明白为什么我的循环不会退出并在正确的时间打印,python-3.x,Python 3.x,编写一个while循环,计算从1到20的整数乘积,但在累计乘积超过10亿(100000000)后停止。之后打印计算出的乘积的值 提示:您会发现break语句对于这个挑战很方便,您可能希望通过这样做来积累产品:product*=i。这意味着您需要将产品累加器初始化为1,如下所示 参见代码 i = 1 product = 1 while i<21: product *= i i += 1 if product > 1000000000000:

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

提示:您会发现break语句对于这个挑战很方便,您可能希望通过这样做来积累产品:product*=i。这意味着您需要将产品累加器初始化为1,如下所示

参见代码

i = 1
product = 1

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

    if product > 1000000000000:
        break

print(product)
i=1
产品=1
而我10000000000:
打破
印刷品(产品)

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

您的循环当前以1万亿退出。将该值更改为10亿,产量将如预期的那样:

i = 1
product = 1

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

print(product)

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

if product > 1_000_000_000:
    break

您的代码是正确的,但您的条件有太多的零!再数一数,汉克斯,不知道我怎么会错过!
if product > 1_000_000_000:
    break