使用break语句python求和

问题描述 投票:0回答:3

我正在python中使用for循环来查找属于该范围的元素之和。如果总和= 5,我还包含了break语句(如果总和达到5,我要求程序停止运行)这在第一个代码段中有效,但是在第二个代码段中,该值最高为30。为什么会这样?

>>> sum=0
>>> for m in range(5,11,2):
...     sum+=m
...     if sum==5:
...             break
... 
>>> print(sum)

输出-5

>>> sum=0
>>> for z in range(0,11,2):
...     sum+=z
...     if sum==5:
...             break
... 
>>> print(sum)

输出-30

python python-3.x sum programming-languages break
3个回答
0
投票
>>> list(range(0,11,2))
[0, 2, 4, 6, 8, 10]

这些数字的总和永远不会是五。


0
投票

我认为您希望您的代码成为:

if sum >= 5:
    break

sum在第二种情况下永远不会直接等于5。如果要在得到过去或等于 5时停止,则需要>=


0
投票

您应将条件包括为sum>=5。因此以下代码将有效]

 sum=0
 for z in range(0,11,2):
     sum+=z
     if sum>=5:
             break

 print(sum)

您的代码没有用,因为在第二种情况下,总和永远不等于5。它超过了5,但从未等于它。

© www.soinside.com 2019 - 2024. All rights reserved.