2

我对教授的这个问题有疑问。这是问题:

编写一个函数 typing_speed 的定义,它接收两个参数。第一个是一个人在特定时间间隔内输入的单词数(大于或等于零的 int)。第二个是以秒为单位的时间间隔长度(大于零的 int)。该函数以每分钟字数(浮点数)返回该人的打字速度。

这是我的代码:

def typing_speed(num_words,time_interval):
    if(num_words >= 0 and time_interval > 0):
        factor = float(60 / time_interval)
        print factor
        return float(num_words/(factor))

我知道“因子”被分配为 0,因为它没有被正确舍入或其他东西。我不知道如何正确处理这些小数。Float 显然没有做任何事情。

任何帮助表示赞赏,谢谢。

4

2 回答 2

11

当您调用float除法结果时,它是除法被视为整数除法之后(注意:这是 Python 2,我假设)。它没有帮助,有什么帮助是最初将除法指定为浮点除法,例如通过说60.0(的浮点版本60):

factor = 60.0 / time_interval

另一种方法是将 60 除以float(time_interval)

请注意此示例交互:

In [7]: x = 31

In [8]: 60 / x
Out[8]: 1

In [9]: 60.0 / x
Out[9]: 1.935483870967742
于 2010-09-24T05:37:20.140 回答
4

Sharth 的意思是:from __future__ import python

例子:

>>> from __future__ import division
>>> 4/3
1.3333333333333333
>>>
于 2010-09-24T06:27:16.773 回答