如果没有这么多花车我怎么写?

时间:2010-12-29 00:47:39

标签: python

float(float(1)/float(i) * float(score))

4 个答案:

答案 0 :(得分:10)

假设Python 2.x:1.0 / i * score

你需要担心的主要情况是划分,因为在Python 2.x中,除法默认为整数除法。为了进行浮点除法,除数或除数需要是浮点数,因此1.0。因此,1.0/i将是一个浮点数,并将浮点数乘以得分(可以是整数或浮点数)将产生另一个浮点数。

然而,在python 3.x中,除法默认为浮点除法,因此1 / i * score可以正常工作。

答案 1 :(得分:3)

你想要的只是Python2中的float(score)/i。如果一个操作数是一个浮点数,那么结果也是一个浮点数,所以像score/float(i)1.0*score/i这样的代码也可以。

你也可以将from __future__ import division放在.py文件的顶部,默认情况下你有浮动分区。这意味着您可以编写score/i,它将是一个浮点数,就像在Python3中一样。

答案 2 :(得分:2)

1.0 * score / i;应该这样做

答案 3 :(得分:0)

除非我完全错了,否则一个简单的1.0 / i * score应该会导致浮动。我不确定这只是Python 3。