在Python中计算工作率

时间:2013-12-29 02:36:00

标签: python

如果我有变量:小时,分钟和秒分别代表工作小时数,工作分钟数和工作秒数,我如何计算工资的工资,x

这就是我所拥有的:

rate = (hours*x) + (minutes*x)*0.1 + (seconds*x)*0.01

但是我收到了这个错误:

TypeError: can't multiply sequence by non-int of type 'float'

我认为这可能是公式中的混乱,但我不确定它是什么

2 个答案:

答案 0 :(得分:3)

minutesx 不是整数;很可能你在那里有一个字符串:

>>> minutes = 5
>>> x = '10'
>>> minutes * x
'1010101010'
>>> (minutes * x) * 0.1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'float'

确保您的输入都是数字。

请注意,您的每小时费率公式似乎不太正确;我将其计算为:

rate = (hours + (minutes / 60.0) + (seconds / 3600.0)) * x

因为一小时有60分钟,而且有3600秒。

答案 1 :(得分:0)

我对Python的经验很少,但我会对它进行一次尝试。您正在尝试将数字乘以非数字。假设字符串x“代表”有效数字,您可以将其转换为floatint。试试这个:

x = float(x);
rate = (hours * x) + (minutes * x * (1.0/60)) + (seconds * x * (1.0/3600))