2015-10-12 18 views
0

Это код, у меня есть для измерения, сколько времени потребовалось пользователю завершить программу:Python: Округление выход модуля времени

start_time = time.time() # Sits at the top of my code 
print("%f seconds" % (time.time() - start_time)) # Goes at the bottom of my code 

Мой вопрос, как я округлить выход это одно десятичное место? Например, если мой вывод был 3.859639 seconds, как бы я это обозначил: 3.8 Secounds?

+0

EWH, что опечатки. Я хотел сказать 3.8 secounds – Csarg

+0

Вы уверены, что это не должно быть «3,9 секунды»? –

+0

Итак, вы хотите округлить все время? Вместо округления 3,859 ... до 3,9? – Andy

ответ

5

Похоже, вы забыли «.1» перед «f». Попробуйте это:

print("%.1f seconds" % (time.time() - start_time)) 
+1

Это также даст 3,9 вместо 3.8 ... –

+0

Это работает для меня, имея 3,9 вместо 3,8, не будет убивать мою программу, так что это нормально. – Csarg

0

примитивно ... перемножить, обрезает все остальное, а затем разделить еще раз:

diff = time.time() - start_time 
rounded_down = int(diff * 10)/10 # = 3.8 
0

Используйте круглую функцию со вторым аргументом, как 1

start_time = time.time() # Sits at the top of my code 
x=round((time.time() - start_time),1) 
print x 
Смежные вопросы