变量在具有条件的循环中展开,如何"重置"遇到某种情况?

时间:2018-04-07 09:04:16

标签: for-loop if-statement initialization environment-variables reset

我有一个循环,扫描每个数据点并检查某个条件:

for i in range(0, 10):
    if x == False:     #1
       if a.loc[[i]] > b.loc[[i]]: #2
          value = "yes"
          test = 1 / y.loc[[i]]
       ...

    if value == "yes":
          test_2 = test * z.loc[[i]]
          x = True

    elif x == True: #3
      ...
          test_3 = test - test_2 * e.loc[[i]] #4
          x = False

等等。

问题中的变量在此处测试并由test_2和test_3产生。这些应该只是1x1变量,但是,整个循环中满足条件#1和#2,导致测试扩展到1xN。这样下面的test_3不再起作用了。

我该如何制作:循环或条件来重置"变量测试,只要满足条件#3和#4,当循环再次从1开始时,我将得到1x1变量测试?谢谢。

编辑1:也许更清楚。变量测试成为循环中迭代的系列(只要满足条件)。我需要的是获取新值(从下一次迭代)覆盖以前的值而不是附加它。

0 个答案:

没有答案