Форум сайта python.su
Есть массив:
time = ['0', '12:30', '15:45', '17:00', '17:00', '18:00', '19:00', '19:00', '19:00', '19:00', '19:30', '19:30', '19:30', '20:00', '20:00', '20:00', '20:00', '20:00', '20:00', '20:00', '20:00', '20:30', '20:30', '21:00', '21:00', '21:00', '21:00', '21:00', '21:00', '21:00', '21:15', '21:30', '21:30', '21:30', '21:45', '22:00', '22:00', '22:00', '22:00', '22:05']
for i in range(len(time)): if int(time[i]) > 10: try: print "Time is Now" break except ValueError: print "Time not come" else: print "Kill yourself"
Офлайн
Время или дата могут представляться множеством разных способов, поэтому питон не знает как преобразовать ваши строки во время. Используйте для преобразования http://docs.python.org/library/time.html#time.strptime
Офлайн
# -*- coding:utf-8 -*- from datetime import datetime tm = ['0', '09:00', '12:30', '15:45', '17:00', '17:00', '18:00', '19:00', '19:00', '19:00', '19:00', '19:30', '19:30', '19:30', '20:00', '20:00', '20:00', '20:00', '20:00', '20:00', '20:00', '20:00', '20:30', '20:30', '21:00', '21:00', '21:00', '21:00', '21:00', '21:00', '21:00', '21:15', '21:30', '21:30', '21:30', '21:45', '22:00', '22:00', '22:00', '22:00', '22:05'] for t in tm: try: if datetime.strptime(t, '%H:%M').hour>10: print t, '>10' else: print t, '<=10' except ValueError: print t, 'Это не время, а херня какая-то'
Офлайн
Спасибо, что помогаете.
Но 0 в первом индексе, это 0 минут, если заменить на 9. То именно интересует формат условия по этим критериям. Что поигрался с заменой hour на min, и изменением ‘%H:%M’ на ‘%M’, но ничего не вышло.
Офлайн
Спасибо, что помогаете.
Но 0 в первом индексе, это 0 минут, если заменить на 9. То именно интересует формат условия по этим критериям. Что поигрался с заменой hour на min, и изменением ‘%H:%M’ на ‘%M’, но ничего не вышло.
Офлайн
from datetime import datetime tm = ['0', '9', '70', '15:45', '17:00', '17:00', '18:00', '19:00', '19:00', '19:00', '19:00', '19:30', '19:30', '19:30', '20:00', '20:00', '20:00', '20:00', '20:00', '20:00', '20:00', '20:00', '20:30', '20:30', '21:00', '21:00', '21:00', '21:00', '21:00', '21:00', '21:00', '21:15', '21:30', '21:30', '21:30', '21:45', '22:00', '22:00', '22:00', '22:00', '22:05'] print datetime.strptime(tm) for t in tm: try: if datetime.strptime(t, '%M').minute>10: print t, '>10' else: print t, '<=10' except ValueError: print t, 'Это не время, а херня какая-то'
Отредактировано paraman (Июль 13, 2012 08:47:20)
Офлайн
paramanПостарайтесь выражать свои мысли яснее, пожалуйста. Кажется, что Вы сами не знаете, что Вам нужно, по крайней мере мне не понятно, чего Вы хотите.
Но 0 в первом индексе, это 0 минут, если заменить на 9.
Офлайн
Вроде подправил свою мысль
Офлайн
paramanИ что такое 70? Время по марсианским часам?from datetime import datetime tm = ['0', '9', '70', '15:45', '17:00', '17:00', '18:00', '19:00', '19:00', '19:00', '19:00', '19:30', '19:30', '19:30', '20:00', '20:00', '20:00', '20:00', '20:00', '20:00', '20:00', '20:00', '20:30', '20:30', '21:00', '21:00', '21:00', '21:00', '21:00', '21:00', '21:00', '21:15', '21:30', '21:30', '21:30', '21:45', '22:00', '22:00', '22:00', '22:00', '22:05'] print datetime.strptime(tm) for t in tm: try: if datetime.strptime(t, '%M').minute>10: print t, '>10' else: print t, '<=10' except ValueError: print t, 'Это не время, а херня какая-то'
Как пример, но что-то не то. Нужно, чтобы он 3-тий индекс вывел.
Офлайн
FishHook, может ему такое покатит
for h in time: if h.split(':')[0] > 22: print('Спать пора') else: print('Рано еще ...')
Офлайн