gpt4 book ai didi

python - 打印用户给出的具体时间 python

转载 作者:太空宇宙 更新时间:2023-11-03 18:04:05 25 4
gpt4 key购买 nike

我正在尝试打印给出用户输入的列表的最接近的值。在实践中,用户给了我一个时间,我想检查该值是否在时间表列表中,否则我想增加分钟数,直到我救援列表中的值,然后在三十个槽中打印时间分钟。这是我的代码。你能帮我展示什么不起作用吗?谢谢

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])

在这里您可以看到它的工作原理:fiddle .

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

Edit2:我还做了一个版本,列出了接下来半小时内的每次。 Fiddle .

关于python - 打印用户给出的具体时间 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27202332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com