编写函数pay(),带两个输入参数:小时工资和上周员工工作了的小时数。函数计算并返回员工的工资。加班工资的计算方法如下:大于40小时但小于或等于60小时按平时小时薪酬的1.5倍给薪;大于60小时则按平时小时薪酬的2倍给薪。
时间: 2023-08-23 18:02:23 浏览: 273
### 回答1:
以下是 Python 代码:
```
def pay(wage_per_hour, hours_worked):
if hours_worked <= 40:
salary = wage_per_hour * hours_worked
elif hours_worked <= 60:
salary = 40 * wage_per_hour + (hours_worked - 40) * 1.5 * wage_per_hour
else:
salary = 40 * wage_per_hour + 20 * 1.5 * wage_per_hour + (hours_worked - 60) * 2 * wage_per_hour
return salary
```
### 回答2:
首先,可以定义函数pay(),该函数有两个参数:hourly_wage(小时工资)和worked_hours(上周员工工作的小时数)。接下来,计算员工的工资。
首先,判断worked_hours是否大于40小时。如果大于40小时,计算加班时间。在40小时内,员工按照正常工资计算,超过40小时部分按照加班工资计算。根据题目要求,加班时间在40到60小时之间时,按照1.5倍的小时工资计算。超过60小时时,则按照2倍的小时工资计算。
根据以上条件,可以使用if语句来判断加班时间并计算工资。以下是函数的代码实现:
```python
def pay(hourly_wage, worked_hours):
overtime_hours = max(worked_hours - 40, 0) # 计算加班时间
normal_hours = worked_hours - overtime_hours # 计算正常工作时间
if overtime_hours > 20: # 如果加班时间超过60小时
overtime_pay = hourly_wage * 2 * overtime_hours
else:
overtime_pay = hourly_wage * 1.5 * overtime_hours # 如果加班时间在40到60小时之间
normal_pay = hourly_wage * normal_hours # 计算正常工资
total_pay = normal_pay + overtime_pay # 总工资等于正常工资加上加班工资
return total_pay
```
以上代码中,假设小时工资为hourly_wage,上周工作的小时数为worked_hours。首先计算加班时间,然后根据不同的加班时间段,计算加班工资和正常工资。最后将加班工资和正常工资相加,得到员工的总工资,并返回。
注意:如果输入的小时工资为浮点数,则根据实际情况将代码中的乘法因子1.5和2调整为相应的倍数。
### 回答3:
可以按照以下的方式编写函数pay()来计算员工的工资:
```
def pay(hourly_wage, worked_hours):
overtime_threshold = 40
if worked_hours <= overtime_threshold:
total_pay = hourly_wage * worked_hours
elif worked_hours <= 60:
overtime_hours = worked_hours - overtime_threshold
overtime_pay = overtime_hours * hourly_wage * 1.5
total_pay = hourly_wage * overtime_threshold + overtime_pay
else:
overtime_hours = worked_hours - overtime_threshold
overtime_pay = overtime_hours * hourly_wage * 2
total_pay = hourly_wage * overtime_threshold + overtime_pay
return total_pay
```
这个函数接受两个输入参数,小时工资(hourly_wage)和上周员工工作了的小时数(worked_hours)。在函数内部,我们设置了一个加班阈值(overtime_threshold)为40小时。首先判断员工的工作小时数是否小于等于加班阈值,如果是,则直接按平时小时薪酬计算工资;否则,再判断员工的工作小时数是否小于等于60小时,如果是,则计算加班小时数(overtime_hours)及对应的加班薪资(overtime_pay),并与平时工资(hourly_wage * overtime_threshold)相加得出总工资;否则,计算超过60小时的加班小时数(overtime_hours)及对应的加班薪资(overtime_pay),并与平时工资相加得出总工资。
最后,返回总工资(total_pay)。