Я пытаюсь напечатать ближайшее значение списка, дающего пользователю ввод. На практике пользователь дает мне время, и я хочу проверить, включено ли это значение в список расписания, иначе я хочу увеличить минуты до тех пор, пока не выберу значение списка, а затем распечатаю время в слоте тридцать минут. Вот мой код. Можете ли вы помочь мне показать, что не работает? СпасибоРаспечатайте определенное время, заданное пользователем python
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 и ничего больше (потому что нет времени после 7.56 в слоте 30 минут). Можете ли вы помочь мне проверить, что случилось? Thanks
EDIT Ok. Теперь я могу распечатать временные интервалы времени 07 часов (это частично верно), но я не понимаю, почему python печатает его только тогда, когда переменная минут равна «56», а не «41», что находится в списке ....
Извините .... Что такое «xrange»? – pp94
Я пробовал его в python, но, конечно, говорит, что диапазон не задан – pp94
Извините, я написал его в python2. Это просто 'range' в python3. – zord