我不熟悉编码,我对这个问题的指导是: “给定以管道分隔的文件F1和F2,其中F1包含字段ACCOUNT NUM | PIN | BALANCE,F2包含事务处理指令COMMAND | AMOUNT | ACCOUNT NUM | PIN,执行事务,将结果存储回F1。在
命令字段将是add或sub,表示帐户的加减。在
不提供正确的PIN码或试图将帐户置于零以下的交易应被忽略。”
我的输出是:
1000|1234|10000
1020|2222|0
3000|3344|1000
2020|1234|90000
正确的输出是:
^{pr2}$我写的代码是:
import sys
F1= sys.argv[1]
F2= sys.argv[2]
records=[]
with open(F1,'r') as fp:
content=fp.readlines()
for row in content:
recList=row.strip("\n").split('|')
records.append(recList)
records2=[]
with open(F2,'r') as fp:
content=fp.readlines()
for row in content:
recList2=row.strip("\n").split('|')
records2.append(recList2)
for i in range(len(records)):
row=records[i]
for i in range(len(records2)):
row=records2[i]
for row in records and records2:
if records[i][1]==records2[i][3]:
if records2[i][0]=="add":
records[i][2]=int(records[i][2])+int(records2[i][1])
elif records2[i][0]=="sub":
if int(records[i][2])>=int(records2[i][1]):
records[i][2]=int(records[i][2])-int(records2[i][1])
else:
records[i][2]=records[i][2]
else:
break
print(records)
你还没有包括命令。输出行中显示的最后一个数字没有加法或减法,这就是它们出错的原因。在
相关问题 更多 >
编程相关推荐