试图从行尾添加成本,但只得到一个空sp

2024-04-20 13:31:04 发布

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

我试图从所有日志中获取总成本(每行末尾的值),但当打印价格时,它不会打印任何内容,只是一个空白。每行在值之前都有不同的长度。这段代码还没有增加成本,但我要确保我得到了

输入函数的日志记录(rec.dat):*此日志将是输入函数的记录

@2014 2 14 00:03:01马特“登录”0.01

@2014 2 14 02:06:12玛丽“登录”0.01

@2014 2147: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
        price = line[info:0]
        print("price: ",price)
        cost += price
        line = s.readline()
    s.close()
    return cost

Tags: 函数info内容readlinelen记录line价格
2条回答

这样做:

price = line[-3:]

您可以完全删除info。查看Python的slice notation是如何工作的,它为许多问题提供了方便的快捷方式,包括您的问题:-)

在我看来,'price=line[info:0]应该是'price=line[info:'

>>> a = 'abcde'
>>> a[2:]
'cde'
>>> a[2:0]
''
>>> 

相关问题 更多 >