Форум сайта python.su
0
Здравствуйте. Я недавно начал изучать python. Столкнулся с проблемой. Я научился из входных данных (2, 30) получать выходные данные (02:30). но как быть, если у меня входные данные в виде hh:mm (02:30), как их мне преобразовать в h = 2, m = 30?
Заранее благодарю.
Офлайн
61
http://pythonworld.ru/moduli/modul-time.html
Офлайн
0
ZerGДа, я нашел эту страницу, до того как здесь написать. Я не знаю как мне сделать, что когда входные данные в виде чч:мм, программа принимала как ч и м. нужен пример.
http://pythonworld.ru/moduli/modul-time.html
Офлайн
61
Нам нужно угадать что куда и как у вас выдает и что вы хотите сделать?
Офлайн
5
def convert_to_time(my_input): return datetime.datetime.strptime(my_input, '%H:%M')
Офлайн
0
На данном примере покажите решение данной простенькой задачи. Исходя из вашего решения я получу ответ на свой вопрос.
Нужно, чтобы программа выдавала ответ 0, если время будет меньше или равно 10:00
и ответ 1, если больше 10:00
дано время: 10:35
Я могу решить данную задачу, если у меня входные данные будут такого вида (10, 35) (два значения: часы(h) и минуты(m)), но не могу решить, если они вида (10:35) (в виде электронных часов). Надеюсь я понятно теперь объяснил суть проблемы. А суть проблемы в том, что на входе у меня не простые значения, а электронные часы.
Офлайн
5
Можно преобразовать строку 10:35 в список , с помощью
str.split()
Офлайн
61
def convert_to_time(my_input): if (datetime.datetime.strptime(my_input, '%H:%M')).time() > datetime.time(9, 30): print(1) else: print(0) z = convert_to_time('10:30')
Офлайн
24
>>> int(time.strptime("10:00", "%H:%M") <= time.strptime("9:15", "%H:%M")) 0 >>> int(time.strptime("10:00", "%H:%M") <= time.strptime("10:35", "%H:%M")) 1
Отредактировано ayb (Апрель 19, 2016 15:28:33)
Офлайн
253
вообще можно попробовать
http://labix.org/python-dateutil
там есть достаточно умный parse. Очень может быть что он правильно разберется с вашей строкой.
Офлайн