Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 26, 2013 13:35:21

Vivatgm
Зарегистрирован: 2013-01-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

почему питон 3,3 не правильно прибавляет?

вот пример скрипта, который был написан для подбора цены товара к определенной сумме(цена может быть до 0,01 руб, количество товаров целое)
z=125148
x=24.00
while x<=26:
print(x, ‘\t’, z/x)
x+=0.01

результат ответа таков:
24.0 5214.5
24.01 5212.328196584756
24.020000000000003 5210.158201498751
24.030000000000005 5207.990012484393
24.040000000000006 5205.823627287852
24.050000000000008 5203.659043659042
24.06000000000001 5201.496259351619
24.07000000000001 5199.335272122972
24.080000000000013 5197.176079734217
24.090000000000014 5195.0186799501835

почему далее прибавляется не 0,01, а появляется куча нулей с какими то цифрами?

Офлайн

#2 Янв. 26, 2013 13:40:26

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

почему питон 3,3 не правильно прибавляет?

Офлайн

#3 Янв. 26, 2013 13:40:59

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

почему питон 3,3 не правильно прибавляет?

round(24.030000000000003, 2)

Офлайн

#4 Янв. 26, 2013 13:43:00

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

почему питон 3,3 не правильно прибавляет?

Vivatgm
подбора цены товара к определенной сумме
Не понял что вам надо.
Можно детальней?

Офлайн

#5 Янв. 26, 2013 14:07:21

Vivatgm
Зарегистрирован: 2013-01-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

почему питон 3,3 не правильно прибавляет?

Singularity
знаю что купили товар на сумму z знаю что цена его в пределах от 24 рублей до 26 рублей. надо узнать сколько товара купили(то есть получить целое число, так как количество товара не может быть 5203,05984 шт)

Офлайн

#6 Янв. 26, 2013 14:08:50

Vivatgm
Зарегистрирован: 2013-01-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

почему питон 3,3 не правильно прибавляет?

Lexander
http://democoder.ru/article/14
получается решать подобные задачи возможно только переведя сначала значения в целые числа, а потом переводить к их истинным значениям и выводить на экран?

Офлайн

#7 Янв. 26, 2013 14:33:13

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

почему питон 3,3 не правильно прибавляет?

Рекомендую посмотреть модуль decimal…



Офлайн

#8 Янв. 26, 2013 17:52:04

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

почему питон 3,3 не правильно прибавляет?

Тут скорее надо смотреть не decimal а про Диофантовы уравнения.
http://www.math.ru/lib/book/plm/v08.djvu



Офлайн

#9 Янв. 27, 2013 10:17:58

Vivatgm
Зарегистрирован: 2013-01-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

почему питон 3,3 не правильно прибавляет?

решил способом приведения опирируемых значений в целые числа. универсальным скрипт не делал
z=30378
x=24
z,x=z*100,x*100
while x<=2600:
print(x/100, ‘\t’, z/x)
x+=1

Офлайн

#10 Янв. 28, 2013 14:56:20

Vivatgm
Зарегистрирован: 2013-01-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

почему питон 3,3 не правильно прибавляет?

z=125148
x=24.00
while x<=26:
print(round(x,2),'\t', z/round(x,2))
x+=0.01
а как такой вариант решения вопроса? подсказали. верен ли он?

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version