首页 > 解决方案 > 无法使用 if 语句正确解决问题

问题描述

我最近正在解决这个问题,我遇到了一个问题。我似乎无法满足每小时费率乘以 1.5 的部分。我将如何解决它?预期输出 - 498.75 我的输出 - 708.75

3.1编写一个程序来提示用户输入小时数和每小时费率,使用输入来计算总工资。支付不超过 40 小时的小时费率和超过 40 小时的所有工作小时数的 1.5 倍。使用 45 小时和每小时 10.50 的费率来测试程序(工资应该是 498.75)。您应该使用input读取字符串并使用 float() 将字符串转换为数字。不要担心检查用户输入的错误 - 假设用户正确输入数字。

hours = input("Enter Hours:")
rate = input("Enter rate:")

# Converts to floats for multiplication
hours = float(hours)
rate = float(rate)

if hours > 40:
   overtime = rate*1.5
   total = hours*overtime
else :
    total = hours*rate
    
print(total)

标签: python

解决方案


问题说:

支付不超过 40 小时的小时费率和超过 40 小时的所有工作小时数的 1.5 倍。

使用您当前的代码,您为所有小时支付 1.5 倍的小时费率,而不仅仅是超过 40 小时的工作小时数。

因此,您的代码应该是:

if hours > 40:
   overtime = rate*1.5
   overtimeHours = hours - 40
   total = (40*rate) + (overtimeHours*overtime)

推荐阅读