我试图在给定字节数的情况下创建一个可读的文件名生成器,但是也可以在没有if语句或循环的情况下创建它:
def memory_size(n):
suffix = ['B','KB','MB','GB','TB']
return ('%.1f'+suffix[int(math.log10(n)/3)]) %(n/?)
我难以理解为什么我可以划分'n',以便在不使用if语句或循环的情况下向用户显示减小的文件大小?
答案 0 :(得分:1)
1024**(math.log10(n)/3)
关于不使用for循环的愚蠢的事情是你会得到恼人的浮动分割错误
>>> mem(1000000)
'1.0MB'
>>> mem(1000000000)
'0.9GB'
我在您的代码中拨打了round()