我正在解决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 请帮帮我。我完全迷路了
答案 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)