big_set=[]
for i in results_histogram_total:
big_set.append(100*(i/sum_total))
因为我检查i
big_set返回[0,0,0,0,0,0,0,0........,0]
蟒蛇:仅追加 '0'
这个错误,这是>0
我到底做错了什么?
big_set=[]
for i in results_histogram_total:
big_set.append(100*(i/sum_total))
因为我检查i
big_set返回[0,0,0,0,0,0,0,0........,0]
蟒蛇:仅追加 '0'
这个错误,这是>0
我到底做错了什么?
如果sum_total是一个整数(什么是sum_total .__ class__等于?), python似乎使用整数除法。
尝试使用i/float(sum_total)。
可能与浮法师有关。
i是可能比sum_total其在整数除法返回0
100 * 0少是0。
尝试强制转换为浮点数。
试试这个list comprehension代替
big_set = [100*i/sum_total for i in results_histogram_total]
注意/
截断在Python2,所以你不妨使用
big_set = [100.0*i/sum_total for i in results_histogram_total]
在Python 2.x中,使用from __future__ import division
得到健全分工行为。
当我想要一个浮动除以它总是x /浮动(y);但是因为整数和浮点数不是对象,所以它们没有类,但它们确实有一个可以用类型说明(x) – 2010-08-05 18:54:01
@Dan进行测试的类型,int类型为int,浮点类型为float类型,类型是类。并且整数和浮点数是对象! – 2010-08-05 18:56:16
或者尝试'from __future__ import division'来得到'/'的确切结果 – 2010-08-05 19:01:51