打印用户指定的特定时间python

pp94

我正在尝试打印提供用户输入的列表的最接近值。在实践中,用户给了我一个时间,我想检查一下此值是否在时间表的列表中,否则我想增加分钟数,直到我获得列表的值,然后在30时隙中打印时间分钟。这是我的代码。您能帮我显示什么无效吗?谢谢

def print_specific_time():
f = open("Bus 6 Lugano Stazione.txt")
lines = f.readlines()
d = defaultdict(list)
start = lines.index("Monday\n")
stop = lines.index("Saturday\n")
time = "07.35"
hour = time[0] + time[1]
minutes = time[3:]
for line in lines[start:stop]:
    line = line.strip(",")
    line = line.replace("\n","")
    line = line.replace(" ","")
    line = line.split("|")
    key = line[0]
    if len(line) == 2:
        d[key] += [line[1]]
    if minutes not in d[hour]:
        minutes = int(minutes) + 1
        minutes = str(minutes)
        print(minutes)
        if minutes in d[hour]:
            print(minutes)
            print(hour,d[hour])
                else:
            if minutes == '59':
                hour = int(hour)
                hour = hour + 1
                hour = "0" + str(hour)
                minutes = "00"
d = dict(d)
for key in d.keys():
    if key == hour:
        print(key,d[key])

在文件中,我有一个时间表列表,所有时间表都放在字典中。这是我正在处理的输出:

{'06': ['11', '26', '41', '56'], '12': ['06', '36'], '11': ['06', '36'], 
'07': ['11', '26', '41', '56'], '16': ['11', '26', '41', '56'], '14': ['06', '36'], 
'17': ['11', '26', '41', '56'], '20': ['05', '35'], '15': ['06', '36', '56'], 
'09': ['06', '36'], '21': ['05', '35'], '22': ['05', '35'], '23': ['05', '35'], 
'19': ['11', '40'], '08': ['11', '26', '41'], '13': ['06', '36'], '10': ['06', '36'], 
'18': ['11', '26', '41', '56']}

我会更好地解释。例如,如果用户将时间设置为07.35,则我的程序应打印07.41、07.56,而不打印其他任何内容(因为在30分钟的时间段中7.56之后没有时间)。你能帮我检查出什么问题吗?谢谢

编辑确定。现在我可以打印07点的时间段了(部分正确),但是我不明白为什么python仅在可变分钟数等于'56'而不是'41'时才打印它在列表中。

佐德

我认为您有点复杂了。不需要逐个增加。这是我的代码,用于查找词典中最接近的时间:

def find(time):
    start_hour, start_minute = map(int, time.split('.'))
    for h in range(start_hour, 24):
        hour = "{0:02d}".format(h)
        if hour in data.keys():
            line = data[hour]
            if h == start_hour:
                line = list(filter(lambda m: int(m) >= start_minute, line))
            if len(line) > 0:
                return '%s.%s' % (hour, line[0])

在这里,您可以看到它的工作原理小提琴

编辑:我将代码修改为python3。(还有小提琴。)

Edit2:我还制作了一个版本,该版本列出了下一个半小时的所有时间。小提琴

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

打印用户指定的特定时间python

来自分类Dev

将用户指定的日期和时间(使用mktime转换)调整为特定时区

来自分类Dev

在Python中启动脚本后的特定时间安排打印命令

来自分类Dev

在python中指定时区感知时间

来自分类Dev

Python在特定时间触发功能

来自分类Dev

在Python中的特定时间生成信号

来自分类Dev

在特定时间运行python程序

来自分类Dev

Python 休眠到特定时间

来自分类Dev

python tornado periodCallback 在特定时间

来自分类Dev

Python crontab 在特定时间安排作业

来自分类Dev

在Python中检查当前时间是否小于特定时间?

来自分类Dev

检查特定时间

来自分类Dev

DataBind()在特定时间

来自分类Dev

elasticsearch特定时间

来自分类Dev

DataBind()在特定时间

来自分类Dev

在指定时间停止服务

来自分类Dev

Python:计算特定时间段内的小时数

来自分类Dev

Python Pandas,仅在特定时间重新采样

来自分类Dev

如何在特定时间获取音频的频率在python中?

来自分类Dev

Python将特定时间附加到列表中

来自分类Dev

如何在特定时间使用Python启动函数?

来自分类Dev

在python上为特定时间创建调度程序

来自分类Dev

在特定时间使用python请求网站

来自分类Dev

导入在特定时间在Python中创建的csv文件

来自分类Dev

计算Python中特定时间间隔内的记录数

来自分类Dev

在python pandas中对特定时间窗口求和

来自分类Dev

具有特定时间点的python中的ODE

来自分类Dev

在特定时间启动和停止 Python 脚本

来自分类Dev

如何每天在特定时间运行python函数