2013-07-17 4 views
0

Есть ли какая-либо команда, например len() для измерения длины числа с плавающей точкой?Изучение чисел с плавающей точкой

Мне нужно выяснить, сколько персонажей включает в себя любые поплавки.

При попытке: Len ([к])

{[к] является массивом, который дает случайные числа с плавающей точкой}

есть ошибка, как:

Blockquote

объект типа 'флоат' не имеет LEN()

Blockquote

import random 

a=[random.uniform(10,100) for i in range (1000)] 

c= open("dosya.txt","w") 
c.write('X DEGER: Y DEGER:\n') 
c.write('--------------\n') 

count = 0.0 
while count < 99.9: 
count +=0.1 
c.write ("%s\n" % count)  


c=open("dosya.txt","w") 
c.seek(37,0) 
for k in range(900): 
    print a[k] 
    c.write(", %.2f" %(a[k])) 
    c.seek(len(str(a[k])),1)  
    c.close 

Я хочу создать два clumn в файле, но номер второй петли в owerwritng на первое

Например: Я хочу Creat

0,1 38,582
0,2 58,21 0,3 16,427

но выход:

0,1 38,585 0,3 25,420 0,5 47,543

, как вы видите число с плавающей запятой перезаписана 0.2,

ответ

0

Как насчет этого?

len(str(a[k])) 

Это превращает поплавок в строку и выясняет длину строки, и, таким образом, что поплавок.

Если вы не хотите, чтобы подсчитать точку, вы можете сделать

len(str(a[k])) - 1 
+0

может написать: *** c.seek (5 + len (str (a [k]), 1) *** –

1

Преобразование поплавок в строку с помощью str(), затем измерить длину:

>>> len(str(2.34)) 
4 

Или, если вы не хотите, чтобы он подсчитал десятичную, удалите его:

>>> len(str(2.34).replace('.','')) 
3 

Очевидно, что вы можете заменить 2.34 с a[k] :).

+0

не может использовать: ** c.seek (5 + len (str (a [k]), 1) ** –

+0

@nuri_ Да, конечно! :) – TerryA

+0

Благодарим за сообщение –

Смежные вопросы