编写一个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。
答案 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