【问题标题】:trying to get the values from the end of lines and add them together试图从行尾获取值并将它们加在一起
【发布时间】:2014-04-22 03:58:30
【问题描述】:

我正在尝试从所有日志中获取总成本(每行末尾的值),但我不断收到错误消息“切片索引必须是整数或无或具有索引 方法 ." 每行在值之前都有不同的长度。这段代码还没有增加成本,但我确保我得到了。

日志记录输入函数(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

【问题讨论】:

    标签: python function slice


    【解决方案1】:

    您不能使用float 进行切片,请替换:

    n = float(info)
    price = line[n:0]
    

    与:

    price = line[info:0]
    

    您根本不需要n 变量。

    【讨论】:

    • 当我这样做时,当我尝试打印它以检查价值时,价格出现空白
    • @user3346105 我认为这是一个单独的问题,我真的不知道代码应该做什么。如果您迷路了,请考虑创建一个包含详细信息的单独问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2021-06-05
    • 2013-05-09
    相关资源
    最近更新 更多