我目前正在尝试使用python 3.50创建一个工资函数,如下所示:用户输入每小时支付为“x”,小时工作为“y”。我正在尝试实施一个加班部分,如果工作时间大于40,那么这个额外工作时间的工资是1.5倍。我正在输入工资(10,45)并且当我显然应该返回475时返回525,任何人都可以帮我挑选我的错误吗?非常感谢帮助,感谢您提前的时间。
def wage(x, y):
if y > 40:
ehours = y - 40
overtime = x * 1.5 * ehours
return x * y + overtime
else:
return x * y
答案 0 :(得分:2)
嗯,他们应该只支付0.5额外费用(不是额外的1.5),所以你的代码应该是这样的:
def wage(x, y):
if y > 40:
ehours = y - 40
overtime = x * 0.5 * ehours
return x * y + overtime
else:
return x * y
或者,执行此操作可能更容易(但不一定更好):
def wage(x, y):
return x * y + (0.5*x*max(y-40, 0))