0

可能重复:
如何在 Python 中强制除法为浮点数?

如果这个问题已经被问过,我很抱歉。

timothy_lewis_three_pointers_attempted = 4
timothy_lewis_three_pointers_made = 2

print 'three pointers attempted: ' + str(timothy_lewis_three_pointers_attempted)
print 'three pointers made: ' + str(timothy_lewis_three_pointers_made)
print 'three point percentage: ' + str(timothy_lewis_three_point_percentage)

我得到的百分比是 0。我如何让它说 0.5?我知道如果我将数字输入为 4.0 和 2.0,我会得到想要的结果,但是还有其他方法吗?

4

3 回答 3

2

您拥有的另一个选项(尽管我不推荐)是使用

from __future__ import division

接着

>>> 7 / 9
0.7777777777777778

这是基于PEP 238

于 2012-12-10T02:00:33.377 回答
1

将其中之一设为float

float(timothy_lewis_three_pointers_made) / timothy_lewis_three_pointers_attempted
于 2012-12-10T01:57:04.520 回答
1

你正在做整数除法。将其中至少一个设为浮点值

percentage = float(_made) / float(_attempted)

您还可以使用新的字符串格式方法获得更好看的百分比输出。

"Three point percentage: {:.2%}".format(7.0/9)
# OUT: ' Three point percentage: 77.78%'
于 2012-12-10T02:03:11.190 回答