Ошибка типа: неподдерживаемый тип (ы) операнда для -: 'datetime.datetime' и 'int' - PullRequest
0 голосов
/ 20 января 2019

Я пытаюсь построить хронометр, но у меня возникают проблемы с вычислением delta_time

`def start():`
    start_time = datetime.datetime.now()
    print(start_time)

def stop():
    stop_time = datetime.datetime.now()
    print(stop_time)
    delta_time = stop_time - start_time

При вызове этих функций я получаю:

2019-01-20 03:38:01.630833

2019-01-20 03:38:05.790672

File "test.py", line 15, in stop
    delta_time = stop_time - start_time
TypeError: unsupported operand type(s) for -: 'datetime.datetime' and 'int'

Я осмотрелся, но ничего не нашло.Я понятия не имею, что может быть причиной этой проблемы.

1 Ответ

0 голосов
/ 20 января 2019

Ошибка, которую вы показываете, не означает, что проблема связана с переменной областью, скорее она встречается из-за невозможности выполнить вычисления для не похожих типов.

Трудно сказать, не увидев ваш полный код, но, возможно, следующее предложит альтернативное решение:

#!/usr/bin/env python

import datetime

def start():
    start_time = datetime.datetime.now()
    return start_time

def stop():
    stop_time = datetime.datetime.now()
    return stop_time

def delta(start,stop):
    delta_time = stop - start
    print(delta_time)

start=start()
stop=stop()
delta(start,stop)

Это решение перемещает две сгенерированные временные метки (start_time и stop_time) в одну функцию (delta) в качестве аргументов, так что при вычислении delta_time это делается для переменных подобного типа в пределах области действия функции. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...