Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 6, 2011 23:35:37

exeplor
От:
Зарегистрирован: 2010-12-03
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Деление чисел

Наткнулся на проблему:
print 52/100

По сути должно выводить 0.52 , выводит 0
Пробовал так:
print float(52/100), выводит 0.0

Как же делать точные вычесления?



Офлайн

#2 Июнь 6, 2011 23:46:53

pill
От:
Зарегистрирован: 2010-08-27
Сообщения: 223
Репутация: +  0  -
Профиль   Отправить e-mail  

Деление чисел

>>> 52.0/100
0.52
http://docs.python.org/reference/expressions.html#arithmetic-conversions



Отредактировано (Июнь 6, 2011 23:50:49)

Офлайн

#3 Июнь 7, 2011 14:18:04

hr6134
От:
Зарегистрирован: 2011-05-29
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Деление чисел

Или же вначале скрипта добавлять
from __future__ import division
“нормальное” деление реализовано в python3



Офлайн

#4 Июнь 8, 2011 09:05:08

easlanov
От:
Зарегистрирован: 2010-08-11
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Деление чисел

Есть два способа:

Первый:

>>>float(52)/100
0.52000000000000002

>>>52.0/100
0.52000000000000002
по сути первое и второе одно и то же
Второй:
>>>from __future__ import division

>>>52/100
0.52000000000000002

>>>52.0/100
0.52000000000000002

>>>float(52)/100
0.52000000000000002



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version