2015-10-12 4 views
0

Я создаю программу на Python, в которой пользователь должен набирать алфавит как можно быстрее, а затем компьютер выводит время, которое они взяли. Мой код до сих пор:Поиск разницы во времени

import sys 
from datetime import * 

ready = raw_input('Press enter when ready') 

first = datetime.now().time() 
alph = raw_input('TYPE!!!') 
second = datetime.now().time() 
if alph != 'abcdefghijklmnopqrstuvwxyz': 
    print 'Inocrrect!' 
    sys.exit() 
else: 
    time = second - first 
    print 'It took you', time.seconds 

программы имеет ошибку при работе разницу между двумя моментами:

TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.time' 

Как я могу это исправить?

+0

не использовать местное время, чтобы найти время, прошедшее, использовать или время UTC или знающие объекты DateTime. См. [Поиск, если прошло 24 часа между датами - Python] (http://stackoverflow.com/q/26313520/4279) – jfs

ответ

2

Вы не можете вычесть datetime.time из datetime.time объектов. Было бы лучше использовать datetime.now() (который содержит как компоненты даты, так и времени). Пример -

first = datetime.now() 
alph = raw_input('TYPE!!!') 
second = datetime.now() 
1

Арифметика не поддерживается на time типа Python. Попробуйте использовать только datetime вместо:

first = datetime.now() 
alph = raw_input('TYPE!!!') 
second = datetime.now() 
Смежные вопросы