对于给定脚本中的每个迭代,我正在导入数据并计算变量。为简单起见,我不包括所有这些内容,可以说我想为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个值)的向量并将其相对于某些变量进行绘制。
答案 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)
您可以修改认为适合您的代码的功能,而无需编写所有样板代码。