【问题标题】:Python function: Error with overtime while creating a wage functionPython函数:创建工资函数时加班出错
【发布时间】:2016-01-08 03:23:47
【问题描述】:

我目前正在尝试使用 python 3.50 创建一个工资函数,如下所示:用户输入小时工资为“x”,工作时间输入为“y”。我正在尝试实施加班部分,如果工作时间超过 40 小时,则该人的加班时间增加 1.5 倍。我正在输入工资(10,45)并返回 525,而我显然应该返回 475,谁能帮我找出我的错误?非常感谢您的帮助,提前感谢您的时间。

def wage(x, y):

    if y > 40:

        ehours = y - 40
        overtime = x * 1.5 * ehours
        return x * y + overtime

    else:
        return x * y

【问题讨论】:

    标签: python function


    【解决方案1】:

    嗯,他们应该只多付 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))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-05
      • 1970-01-01
      • 2014-03-05
      • 1970-01-01
      相关资源
      最近更新 更多