Python:循环中的if else语句中的循环

2024-05-23 14:31:12 发布

您现在位置:Python中文网/ 问答频道 /正文

对于给定脚本中的每个迭代,我将导入一个数据并计算一个变量。为了简单起见,我不包括所有的东西,让我说,我想打印25个案件的身份证。无论以何种方式,我放置最后一条语句,它总是打印-要么是最后一个数据的所有迭代,要么是所有数据的最后一个迭代。你知道吗

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个值)的向量,并根据某个变量绘制它。你知道吗


Tags: 数据inimport脚本idfordatarange
3条回答

你需要把

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

在每个内部for循环的末尾(但仍然在循环的内部,因此与for不在同一行),它将为每个迭代打印。你知道吗

如果你对每个循环都做同样的事情,你也可以考虑创建一个函数,你在那里调用它并在其中打印。你知道吗

要接收一个所有值都在末尾的向量,请在开头插入此行(在外部for循环之前):

hist = []

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

hist.append(id)

现在,在处理完循环之后,您将拥有所有可用的值,并且可以打印它们或对它们执行任何您喜欢的操作。你知道吗

I don't want to print at the end of every for loop as I want to create a vector of computed values (25 values)

好吧,那你为什么不这样做(“创建一个计算值向量”)然后???你知道吗

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

print(values)

如果您想在每次迭代后打印,而不必累加结果并在最后打印(如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)

您可以修改您认为最适合您的代码的函数,而无需编写所有样板代码。你知道吗

相关问题 更多 >