Форум сайта python.su
Привет Всем!
Тут у меня имеется вопрос по поводу чисел с плавающей точкой. Ссори за тупость, но мне надо сгенерировать числа именно с 10 знаками после запятой.(random.random() не подходит ). Подскажите, плиз, как можно добиться данного результата?
Офлайн
>>> a = random.random ()
>>> print a
0.85769986594
>>> b = round (a,10)
>>> print b
0.8576998659
>>> a
0.85769986593986813
>>> b
0.85769986590000002
Офлайн
ок) а если мне надо таких чисел сделать 1 млрд и записать в текстовый файл?
Как мне это сделать?
Офлайн
esalНескромный вопрос. А что вы собираетесь делать с текстовым файлом размером больше 10 Гигабайт? Для чего все это?
ок) а если мне надо таких чисел сделать 1 млрд и записать в текстовый файл?
Как мне это сделать?
Офлайн
Ну судя по всему для этого:
А как записать, как-то так:
file = open ('test','w')
for x in xrange (1000000000):
file.write (str (round(random.random (),10)))
file.write ('\n')
file.close ()
Офлайн
pillДа это я читал, интересует именно для какой задачи это нужно. =)
Ну судя по всему для этого:
Отредактировано (Окт. 21, 2010 18:32:22)
Офлайн
tmtКак Вы так примерно посчитали ? )) И на сколько больше будет данный файл, если точнее подсчитать его размер?
с текстовым файлом размером больше 10 Гигабайт?
Офлайн
esal
более точное округление можно сделать через http://docs.python.org/library/decimal.html
Офлайн
11 байт в строке умножь на 10^9 и подели на 1024^3 получишь кол-во гигабайт
Офлайн
Zubchick
+1
Думаю комп повиснет :) при
esal
а если мне надо таких чисел сделать 1 млрд и записать в текстовый файл?
Офлайн