python - 无法使用 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)
解决方案
问题说:
支付不超过 40 小时的小时费率和超过 40 小时的所有工作小时数的 1.5 倍。
使用您当前的代码,您为所有小时支付 1.5 倍的小时费率,而不仅仅是超过 40 小时的工作小时数。
因此,您的代码应该是:
if hours > 40:
overtime = rate*1.5
overtimeHours = hours - 40
total = (40*rate) + (overtimeHours*overtime)
推荐阅读
- javascript - 在 ReactJS 中的一行按钮中更改按钮背景颜色
- python - 如何使用python在循环中处理脚本
- android - Proto DataStore 不适用于苹果芯片
- mysql - 将Mysql中的静态查询转换为动态
- java - 如何在java中从google获取特定的图片url
- spring-boot - 将示例 springboot 应用程序 (WebGoat) 部署到 Azure 应用程序服务
- mysql - SQL表中的限制变量
- image-processing - 您如何计算相机相对于世界坐标系中某个平面(例如 XZ 平面)的俯仰角?
- c# - 如何将旧版 Web 引用添加到 .net 核心项目
- ios - SwiftUI List Bare 最小高度