我对教授提出的这个问题有疑问。这是问题:
编写函数 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
