Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с кодом на питоне пожалуйста

rocket launch Ученик (54), открыт 1 неделю назад
from time import time

st1 = 0

start = input('1 - старт:')
while start != '0':
start = input('0 - стоп:')
if start == '1':
st1 = time()
elif start == '0':
end = time()
total = end - st1
print(round(total, 2))

помогите пожалуйста почему он выводит
1719335102 как это можно исправить?
2 ответа
Влад Сеппенен Профи (998) 1 неделю назад
Проблема в том, что time() возвращает время в секундах в виде числа с плавающей точкой, а вы пытаетесь вычесть одно число с плавающей точкой из другого. В результате получается разница во времени, которая измеряется в секундах.
Чтобы исправить эту ошибку, вам нужно преобразовать st1 и end в тип float, прежде чем вычислять разницу между ними.
Вот исправленный код:
from time import time

st1 = 0

start = input('1 - старт:')
while start != '0':
start = input('0 - стоп:')
if start == '1':
st1 = float(time())
elif start == '0':
end = float(time())
total = end - st1
print(round(total, 2))

Теперь st1 и end будут преобразованы в тип float, и вы сможете корректно вычислить разницу между ними.
LudfedМыслитель (5507) 1 неделю назад
На 1С это было бы проще )
Похожие вопросы