Skip to main content
 首页 » 编程设计

python之除以零错误

2025年05月04日9飞鱼

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

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

这是我的代码:

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 显然没有做任何事情。

感谢任何帮助,谢谢。

请您参考如下方法:

当您对除法结果调用 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