首页 > 解决方案 > Python:在循环中循环 if else 语句

问题描述

对于给定脚本中的每次迭代,我正在导入数据并计算变量。为简单起见,我没有包括所有这些东西,假设我想为 25 个案例中的每一个打印 ID。无论以何种方式,我放置最后一条语句,它总是打印 - 最后一个数据的所有迭代或所有数据的最后一次迭代。

for data in range(0,5):

    if data==0:
        for iteration in range(0,5):
            # Import some data 
            ID = (data,iteration)

    elif data ==1:
        for iteration in range(0,5):
            # Import some data 
            ID = (data,iteration)

    elif data ==2:
        for iteration in range(0,5):
            # Import some data 
            ID = (data,iteration)

    elif data ==3:
        for iteration in range(0,5):
            # Import some data 
            ID = (data,iteration)           

   elif data ==4:
        for iteration in range(0,5):
            # Import some data 
            ID = (data,iteration)


   ComputedValue = data + iteration                             
   print( 'ComputedValue = %.1d for ID = (%.1d,%.1d)' %(ComputedValue,data,iteration) )

目前它仅打印 5 个案例:

ComputedValue = 4 for ID = (0,4)
ComputedValue = 5 for ID = (1,4)
ComputedValue = 6 for ID = (2,4)
ComputedValue = 7 for ID = (3,4)
ComputedValue = 8 for ID = (4,4)

要进行哪些更改/修改,以便打印所有 25 个案例?谢谢!!拉希特

编辑:我不想在每个 for 循环结束时打印,因为我想创建一个计算值向量(25 个值)并针对某个变量绘制它。

标签: pythonfor-loopif-statement

解决方案


你需要把

print( 'ComputedValue = %.1d for ID = (%.1d,%.1d)' %(ComputedValue,data,iteration) )

在每个内部 for 循环的末尾(但仍在循环内部,因此与 for 不在同一行),它会为每次迭代打印。

如果你对每个循环都做同样的事情,你也可以考虑创建一个你在那里调用的函数,其中包含 print 。

要接收最后包含所有值的向量,请在开头插入这一行(在外部 for 循环之前):

hist = []

然后在每个内部 for 循环中添加以下行:

hist.append(id)

现在,在完成循环后,您将拥有所有可用的值,并且可以打印它们或对它们做任何您喜欢的事情。


推荐阅读