Python:在循环中插入if else语句

时间:2019-01-28 15:18:05

标签: python for-loop if-statement

对于给定脚本中的每个迭代,我正在导入数据并计算变量。为简单起见,我不包括所有这些内容,可以说我想为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个值)的向量并将其相对于某些变量进行绘制。

3 个答案:

答案 0 :(得分:0)

您需要输入

print( 'ComputedValue = %.1d for ID = (%.1d,%.1d)' %(ComputedValue,data,iteration) )
在每个内部for循环的末尾

(但仍在循环内部,因此与for不在同一行),它在每次迭代中都打印出来。

如果您对每个循环都做同样的事情,您还可以考虑创建一个函数,并在其中调用并打印。

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

hist = []

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

hist.append(id)

现在,完成循环后,您将拥有所有可用值,并可以打印它们或对它们进行任何操作。

答案 1 :(得分:0)

  

我不想在每个for循环的末尾打印,因为我想创建一个计算值(25个值)的向量

那么,为什么不这样做(“创建计算值的向量”)然后呢?

values = []
for i in range(5):
   for j in range(5):
       values.append((i, j))

print(values)

答案 2 :(得分:0)

如果您希望在每次迭代后打印,而不累加结果并在最后打印(如Bruno的回答),则可以使用以下示例中的简单功能:

def f(data, r=range(5)):
    for iteration in r:
        ID = (data, iteration)
        print( 'ComputedValue = %.1d for ID = (%.1d,%.1d)' %(ComputedValue,data,iteration) )

for data in range(5):
    f(data)

您可以修改认为适合您的代码的功能,而无需编写所有样板代码。