如果总值的变化等于一定数量,则打破 for 循环

breaking a for loop if the change in the total value is equal to a certain amount

请注意,为了示例起见,代码是使用占位符数据提取的。它单独可能没有多大意义,但它确实在更大的项目中发挥作用。

代码如下:


for x in range(10):
 Total = 0    

 for i in range(4):
        t = 1 + i**x
        print ("Unit", i+1 ,"value: ", t)
        Total += t
 print("Total: ", Total)

 if Total == 280:
    break  

它给出了以下结果:

Unit 1 value:  2
Unit 2 value:  2
Unit 3 value:  2
Unit 4 value:  2
Total:  8
Unit 1 value:  1
Unit 2 value:  2
Unit 3 value:  3
Unit 4 value:  4
Total:  10
Unit 1 value:  1
Unit 2 value:  2
Unit 3 value:  5
Unit 4 value:  10
Total:  18
Unit 1 value:  1
Unit 2 value:  2
Unit 3 value:  9
Unit 4 value:  28
Total:  40
Unit 1 value:  1
Unit 2 value:  2
Unit 3 value:  17
Unit 4 value:  82
Total:  102
Unit 1 value:  1
Unit 2 value:  2
Unit 3 value:  33
Unit 4 value:  244
Total:  280

以上程序在总数等于280时结束。

当从一次迭代到另一次迭代的总变化等于或大于一定量时,我如何添加结束程序的功能。在伪代码中:

if Δ in Total is > 100:
   break

这意味着程序会在总数为 102 时停止,因为 100 和 280 之间的总和 > 100,确切的变化是 178。

让我们试试这个,创建一个 tmp:

tmp = 0
for x in range(10):
    total = 0    
    for i in range(4):
        t = 1 + i**x
        print ("Unit", i+1 ,"value: ", t)
        total += t
    print("Prev value: ", tmp)
    print("Total: ", total)
    if abs(tmp - total) > 100 or total == 280:
        break
    tmp = total