我正在研究一个问题,我需要创建一个带有两个参数的程序:小时工资和员工工作的小时数。超过40小时的任何时间都是加班费,应该以 1.5 倍的速度支付。
到目前为止,我已经提出以下建议:
def wage(hourly, hours)
if hours > 40
#hours over 40 earns overtime rate
应该出现以下内容:
>>> wage(10, 10)
100
>>> wage(10, 35)
50
>> wage(10,45)
475
该函数应根据程序的编写方式输出和计算值。我只是不确定如何使用用户定义的函数实现正确的迭代,以便输出正确的值。
作为参考,继承了原来的问题:
实施功能 工资() 这需要两个参数:每小时一次 工资和员工上次工作的小时数 周。您的功能应该计算并返回员工 工资。任何超过40小时的工作时间都是加班费,应该支付 是正常小时工资的1.5倍。确保添加一个 Docstring告诉用户程序是如何工作的。
答案 0 :(得分:1)
每小时乘以小时数,计算加班时间并将其加到工资上。由于您已经添加了正常的小时费率,因此您需要增加0.5 *加班费。
def wage(hourly, hours):
salary = hourly * hours
if hours > 40:
overtime = 40 - hours
salary += 0.5 * overtime
return salary
答案 1 :(得分:1)
即使我坚信你应该自己做,因为如果你要使用Python,你应该知道这件事,这就是答案:
def wage(hourly,hours):
if hours > 40:
payment = 40 * hourly # Standard Payment until 40 Hours
payment = payment + hourly * (hours-40) * 1.5 # + the rest which has more rate
return payment
else:
return hours * hourly # Otherwise Normal Payment
你需要找到工作时间超过40小时的人数。这些人的费率是1.5。所以,前40个小时有标准费率。这就是为什么你需要从第一个案例中减去前40个小时的原因。