Подскажите, куда лучше впихнуть одноразовую функцию?
with open('logfile.txt', 'r', encoding='utf-8') as logfile, open('output.txt', 'w', encoding='utf-8') as output_file:
users = map(lambda x: x.split(', '), logfile.read().split('\n'))
def minutes(user, time_in, time_out):
hours, mins = time_in.split(':')
time_in = int(hours) * 60 + int(mins)
hours, mins = time_out.split(':')
time_out = int(hours) * 60 + int(mins)
return time_out - time_in >= 60
for user in filter(lambda x: minutes(*x), users):
print(user[0], file=output_file)
Задание заключается в том, чтобы записать в файл все имена пользователей, время нахождения за компьютером которых было не менее 60 минут. Функция работает всего один раз, потому вопрос - есть ли смысл выносить ее в "глобальный код"? или, быть может возможно обойтись и вовсе без функции?
Сам файл для чтения содержит:
Тимур Гуев, 14:10, 15:50
Джагмаидзе Ирбек, 00:00, 00:59
Руслан Гриценко, 12:00, 12:59
Роман Гацалов, 09:10, 17:45
Габолаев Георгий, 11:10, 12:10
Гергиева Светлана, 09:10, 21:45
Гуева Лариса, 07:05, 08:05
Засеев Ирбек, 00:00, 01:00
Гуева Лиза, 09:05, 10:05
Харисов Артур, 19:07, 20:07
Джабиев Алан, 17:56, 18:55
Янченко Роман, 00:00, 01:01
Источник: Stack Overflow на русском