[英]why do I keep getting a bad input error on line five? are my variables alright? the declaration of function?
这是我的代码
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 小时的小时工资应该是一个半小时。 将计算 pay 的逻辑放在名为 computepay() 的 function 中,并使用 function 进行计算。 function 应该返回一个值。 使用 45 小时和每小时 10.50 的费率来测试程序(工资应该是 498.75)。 您应该使用 input 读取字符串并使用 float() 将字符串转换为数字。 除非您愿意,否则不要担心错误检查用户输入 - 您可以假设用户正确键入数字。 不要命名变量 sum 或使用 sum() function。
这是给出的示例代码
def computepay(h, r):
return 42.37
hrs = input("Enter Hours:")
p = computepay(10, 20)
print("Pay", p)
我已经尝试过多次弄乱缩进,也完全删除了 else 语句我可以得到一些建议吗?
而不是在代码的第 8 行中return 'p'
...类型return p
以便它返回变量而不是字符串。
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)
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)
我的代码:
def computepay():
mhours = (h - 40) * (r * 1.5) + uhours*r
return mhours
uhours = 40
try:
hours = input("Enter Hours please: ")
rate = input("Enter Rate per hours please: ")
h = float(hours)
r = float(rate)
if h <= uhours:
print('Pay', h * r)
elif h > uhours:
print('Pay', computepay())
except ValueError:
print('Please Enter a Number! not a word!')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.