我试图从所有日志中获取成本(每行末尾的值)总计,但我不断收到错误“切片索引必须是整数或无或有一个索引 方法 ” 每行在值之前都有不同的长度。此代码尚未增加成本,但我确保我得到了。
输入函数的日志记录(rec.dat): *此日志将是输入到函数中的记录
@ 2014 2 14 00:03:01 马特“登录”0.01
@ 2014 2 14 02:06:12 玛丽“登录”0.01
@2014年2月14日17:12:05玛丽“cd ~/cs150/projects”0.01
功能:
该函数的目标是添加所有操作的成本(在本例中成本总计应为 0.03)
def cost(rec):
s = Scanner(rec)
cost = 0
line = s.readline()
for i in range(0, len(rec), 1):
info = len(line) - 3
n = float(info)
price = line[n:0]
cost += price
line = s.readline()
s.close()
return cost
最佳答案
您不能使用float
进行切片,请替换:
n = float(info)
price = line[n:0]
与:
price = line[info:0]
您根本不需要 n
变量。
关于python - 尝试从行尾获取值并将它们加在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22446020/