我想知道某件事是否可能,或者我是否以错误的方式解决这个问题。
我有一个if语句,它正在检查外部文件的标准。然后显示结果(所有这些都有效)。使用结果中显示的2个数字,我需要计算一个数量,并在显示的每个记录的结果旁边打印。
我想要的是:一次打印附加列表1中的每个项目,例如当记录1被打印时,显示计算项目1的计算,记录2打印,它显示计算项目2
numberofItems
和Data
来自我的程序中的其他代码,它会拆分,追加和排序.txt文件。
def opt():
calc = []
for i in range (numberOfItems):
nextRecord = Data[i]
no1 = (nextRecord[0])
date = (nextRecord[1])
no2 = (nextRecord[2])
no3 = int(nextRecord[3])
rank = (nextRecord[4])
no4 = int(nextRecord[5])
if no4 < no3:
calc.append(no4 - no3)
print (no1, "\t\t\t", no2, "\t\t", no3, "\t\t", no4, "\t\t", calc)
答案 0 :(得分:0)
如果我正确理解了这个问题,您不希望在最后一行的calc
电话结束时print
,而是要打印您的项目只是附加到上一行的calc
。
最明显的方法是在想要打印时重新计算值:
print(no1, "\t\t\t", no2, "\t\t", no3, "\t\t", no4, "\t\t", no4 - no3)
或者,您可以在附加和打印之前将计算保存为变量(如果计算费用昂贵,这对于减去两个整数并不重要)会更有意义:
val = no4 - no3
calc.append(val)
print(no1, "\t\t\t", no2, "\t\t", no3, "\t\t", no4, "\t\t", val)
最后一个选项是从calc
列表中取回值。您可以通过使用calc
索引-1
来获取列表中的最后一项。这是你特别要求的,但没有太多理由以这种方式做事:
print(no1, "\t\t\t", no2, "\t\t", no3, "\t\t", no4, "\t\t", calc[-1])