我迷失了数学运算

时间:2018-11-11 14:07:09

标签: python-3.x

我正在解决python任务,但我猜对了,但我做得不太正确。任务是

  

4.6编写一个程序,使用输入来提示用户输入小时数和费率,以计算总工资。工资应为40小时以下的正常费率,而40小时以上所有工作小时的小时费率应为一个半小时。将逻辑用于执行一次半时间的计算,并将其放在名为comparepay()的函数中,然后使用该函数进行计算。该函数应返回一个值。以45小时和每小时10.50的速度测试程序(工资应为498.75)。您应该使用输入读取字符串,并使用float()将字符串转换为数字。除非您愿意,否则不必担心错误检查用户输入-您可以假定用户正确键入了数字。不要命名您的变量sum或使用sum()函数。

这是我的代码:

h = input("Hours?")
r = input("Rate?")
h1 = float(h)
r1 = float(r)
def computepay(h1, r1):
    p = h1 * r1
    return p

if h1 <= 40:
    computepay(h1, r1)
else:
    g = float(h1 - 40)
    g1 = r * 1.5 * g
    pay = computepay(h1, r1) + g1
    print (pay)
input()

我的输出是551.25 请帮帮我。我完全迷路了

2 个答案:

答案 0 :(得分:1)

错误在于部分

pay = computepay(h1, r1) + g1

您正在将完整的h1传递给函数,而不是相关部分40.0。

pay = computepay(40.0, r1) + g1

答案 1 :(得分:0)

hrs = input("Enter Hours:")
rate = input("Enter Rate:")
h1 = float(hrs)
r1 = float(rate)

def computepay(h1,r1) :
    p = h1 * r1
    return p

if h1 <= 40 :
    computepay(h1,r1)
else:
    x = (h1 - 40.0)
    y = (r1 * 0.5)
    z = x * y
    pay = computepay(h1, r1) + z

print(pay)