133*_*day 1 python floating-point decimal division
我的教授对这个问题有疑问.这是一个问题:
写一个函数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))
Run Code Online (Sandbox Code Playgroud)
我知道"因素"被赋予0,因为它没有被正确舍入或者其他东西.我不知道如何正确处理这些小数.Float显然没有做任何事情.
感谢任何帮助,谢谢.
当您调用float除法结果时,事后将除法视为整数除法(注意:这是Python 2,我假设).它没有帮助,帮助最初将除法指定为浮点除法,例如通过说60.0(浮点版本60):
factor = 60.0 / time_interval
Run Code Online (Sandbox Code Playgroud)
另一种方法是将60除以 float(time_interval)
请注意此示例交互:
In [7]: x = 31
In [8]: 60 / x
Out[8]: 1
In [9]: 60.0 / x
Out[9]: 1.935483870967742
Run Code Online (Sandbox Code Playgroud)