有没有类似len()测量浮点数长度的命令?
当我尝试时:len(a[k]) (a[k] 是数组,它给出随机浮点数):
有如下错误:
object of type 'float' has no len()
Run Code Online (Sandbox Code Playgroud)
我的代码:
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
Run Code Online (Sandbox Code Playgroud)
我想在文件中创建两列,但第二列循环数字,在第一列上写入。
例如,
0.1 38.582
0.2 58.214
0.3 16.427
Run Code Online (Sandbox Code Playgroud)
但输出是这样的:
0.1 38.585
0.3 25.420
0.5 47.543
Run Code Online (Sandbox Code Playgroud)
正如您所看到的浮点数覆盖0.2。
使用 将浮点数转换为字符串str(),然后测量长度:
>>> len(str(2.34))
4
Run Code Online (Sandbox Code Playgroud)
或者,如果您不希望它计算小数,请将其删除:
>>> len(str(2.34).replace('.',''))
3
Run Code Online (Sandbox Code Playgroud)
显然,您可以替换2.34为a[k]:)。