首页 > 解决方案 > 当列中的值之和达到某个值时中断循环

问题描述

我想写一个while循环,当列中的值总和达到某个值时会中断。这是我的代码:

while sum(new_mass_not_in_whitelist1.records_to_select) == 7600:
    new_mass_not_in_whitelist1['records_to_select'] = [math.ceil(int((el * difference_new_old_mass) / freq_sum))
                                              for el in new_mass_not_in_whitelist1['freq']]

在进入while循环之前new_mass_not_in_whitelist1['records_to_select']用NaN填充。

标签: python-3.x

解决方案


我认为你在这里做错了。

while sum(new_mass_not_in_whitelist1.records_to_select) == 7600:

!=当总和等于时,您应该使用中断循环7600

像这样

while sum(new_mass_not_in_whitelist1.records_to_select) != 7600:

或者:

如果总和在增长,您也可以使用小于运算符<

像这样

while sum(new_mass_not_in_whitelist1.records_to_select) < 7600:

推荐阅读