Найти - Пользователи
Полная версия: Условие в массиве, как сравнить?
Начало » Python для новичков » Условие в массиве, как сравнить?
1 2
paraman
Есть массив:
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']

Условие, если больше 10, то.
Попытался сделать так:
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"

Но, что-то вываливается у меня это всё в
ValueError: invalid literal for int() with base 10: ‘12:30’

Помогите новичку.
doza_and
Время или дата могут представляться множеством разных способов, поэтому питон не знает как преобразовать ваши строки во время. Используйте для преобразования http://docs.python.org/library/time.html#time.strptime

FishHook
# -*- 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, 'Это не время, а херня какая-то'
paraman
Спасибо, что помогаете.
Но 0 в первом индексе, это 0 минут, если заменить на 9. То именно интересует формат условия по этим критериям. Что поигрался с заменой hour на min, и изменением ‘%H:%M’ на ‘%M’, но ничего не вышло.
paraman
Спасибо, что помогаете.
Но 0 в первом индексе, это 0 минут, если заменить на 9. То именно интересует формат условия по этим критериям. Что поигрался с заменой hour на min, и изменением ‘%H:%M’ на ‘%M’, но ничего не вышло.
paraman
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
paraman
Но 0 в первом индексе, это 0 минут, если заменить на 9.
Постарайтесь выражать свои мысли яснее, пожалуйста. Кажется, что Вы сами не знаете, что Вам нужно, по крайней мере мне не понятно, чего Вы хотите.
Откуда вообще берется этот список?
paraman
Вроде подправил свою мысль
FishHook
paraman
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-тий индекс вывел.
И что такое 70? Время по марсианским часам?
Saturn
FishHook, может ему такое покатит

for h in time:
    if h.split(':')[0] > 22:
        print('Спать пора')
    else:
        print('Рано еще ...')
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB