-2

这是我的代码

def computepay(h,r):
    if h>40.0:
        OT = 1.5*float(r)
        p=OT
    else:
            ck = float(h)*float(r)
            p=ck
            return 'p'
hrs = input("Enter Hours:")
rate = input("Enter rate:")
h = float(hrs)
r = float(rate)
p = computepay(h,r)
print("Pay", p)

这是它需要填写的参数 4.6 编写一个程序来提示用户输入小时数和每小时费率,使用输入来计算总工资。工资应该是 40 小时以内的正常工资,所有工作时间超过 40 小时的小时工资应该是一个半小时。将计算薪酬的逻辑放在一个名为 computepay() 的函数中,并使用该函数进行计算。该函数应该返回一个值。使用 45 小时和每小时 10.50 的费率来测试程序(工资应该是 498.75)。您应该使用 input 读取字符串并使用 float() 将字符串转换为数字。除非您愿意,否则不要担心错误检查用户输入 - 您可以假设用户正确键入数字。不要命名变量 sum 或使用 sum() 函数。

这是给出的示例代码

def computepay(h, r):
    return 42.37

hrs = input("Enter Hours:")
p = computepay(10, 20)
print("Pay", p)

我已经尝试过多次弄乱缩进,也完全删除了 else 语句我可以得到一些建议吗?

4

3 回答 3

0
def computepay(h,r):
    if h > 40.0 :
        reg = r * h
        OT = (h - 40.0) * (r * 0.5)
        p= reg + OT
    else:
        p = h * r
    return p
hrs = input("Enter Hours:")
rate = input("Enter rate:")
fh = float(hrs)
fr = float(rate)
p = computepay(fh,fr)
print("Pay",p)
于 2021-08-24T05:28:41.147 回答
0
def computepay(h,r):
    if h>40.0:
        p = 40.0*r
        p = p + (h-40.0)*1.5*r
    else:
        p = h*r
    return p
hrs = input("Enter Hours:")
rate = input("Enter rate:")
h = float(hrs)
r = float(rate)
p = computepay(h,r)
print("Pay", p)
于 2021-08-24T05:32:33.733 回答
0

而不是return 'p'在代码的第 8 行中...键入return p,以便它返回变量而不是字符串。

于 2021-08-24T05:24:02.010 回答