2012-01-14 1 views
0

У меня есть следующий код:Как проверить строковое значение внутри списка в инструкции if?

s = ['01','06','11','16','21','26','31','36','41','46','51','56'] 

while True: 
    for a in s: 
     if time.strftime('%S') == a:    
      print 'YES' 
     else: 
      print time.strftime('%S') 
      time.sleep(1) 
      print a 

И это не работает.

Любые идеи, как заставить его работать?
В случае, каждый раз, когда %S получает часть стоимости в s, он печатает 'YES'.

+1

Почему операционная система не работает? Есть ошибка? И что именно должна делать ваша программа? –

+0

Я согласен с Риком. Вы должны сделать привычкой включать трассировку в свой вопрос. –

ответ

2

Вы должны вызвать sleep на каждом цикле и искать текущие секунды в списке совпадений:

>>> import time 
>>> 
>>> matches = ['01','06','11','16','21','26','31','36','41','46','51','56'] 
>>> 
>>> while True: 
...  seconds = time.strftime('%S') 
...  if seconds in matches: 
...   print('YES') 
...  else: 
...   print(seconds) 
...  time.sleep(1) 
... 
07 
08 
09 
10 
YES 
12 
13 
14 
15 
YES 
17 
18 
19 
Смежные вопросы