这个枚举中的代码有什么问题

2024-09-29 23:17:19 发布

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

import datetime
with open("fine.txt","r") as f, open("fine1.txt","a") as fine1:
    lines = f.read().split("\n")
    for i in range(2):
        var = input("reg : ") # registration number(reg_num)
        enter = input('Time entered camera 1(24hrs)in the format HH:MM:SS:   ')
        ext = input('Time enterd camera 2 (24hrs)in the format HH:MM:SS : ')
        total_time = '%H:%M:%S'
        enter_time = datetime.datetime.strptime(enter, total_time)
        ext_time = datetime.datetime.strptime(ext, total_time)
        if enter_time > ext_time:
            ext_time += datetime.timedelta(hours=24)
        t_diff = ext_time - enter_time
        time = t_diff.total_seconds() / 3600
        speed = 1 / time
        reg = var[0:1].isalpha() and var[2:3].isdigit() and var[4].isspace() and var[5:7].isalpha() and var.isupper()
        if reg == True:
            for i, line in enumerate(lines):
                if var in line:
                    num = int("{}".format(i))
                    var = f.read()
                    name = (var[num])   #the problem
                    print(name)
                    address = (var[num + 0])
                    if speed > 70:
                        print("ovrspeeding", (var[num + 0]))
                        fine1.write(name+address+speed+"\n")

整个代码必须输入,否则你不会明白我在做什么。你知道吗

精细.txt是一个已经生成的文件,看起来像:

reg_num1 aaaaaaaaaaaaaaaaaaa
reg_num2 bbbbbbbbbbbbbbbbbbb
reg_num3 ccccccccccccccccccc

此代码接收注册号(例如AA01 SSS)和2种时间格式(稍后将用于计算速度)的输入。我想让这段代码在中找到行精细.txt输入了注册号,如果车辆超速(速度大于70mph),则需要将整行添加到文件fine1.txt中。你知道吗

问题是,当我运行代码时,错误消息指出:

name = (var[num])
IndexError: string index out of range

我不知道这是什么意思,所以你能帮我吗。你知道吗


Tags: and代码nameintxtdatetimeiftime

热门问题