所以我需要编程方面的帮助。
我的任务是:
编写一个程序,使用raw_input计算总薪酬,提示用户每小时和每小时的费率。在40小时以上工作的所有小时的小时费率奖励时间一半。使用45小时和每小时10.50的速度来测试程序(工资应为498.75)。您应该使用raw_input读取字符串,使用float()将字符串转换为数字。不要担心错误检查用户输入 - 假设用户正确输入数字。
我这样做了:
inp = raw_input ('Enter Hours: ')
hours = float(inp)
inp = raw_input ('Enter Rate: ')
rate = float(inp)
print rate, hours
if hours <= 40 :
pay = hours * rate
else :
pay = rate * 40 + (rate * 1.5 * ( hours - 40 ))
print pay
似乎还可以,但是当我点击检查代码时,我输入45小时,然后评价我尝试输入10.50,10.5但每次我得到这个: 10.5 45.0←不匹配 498.75
答案498.75是正确的,但我一直在那里不匹配,所以我无法完成我的任务。谁知道我做错了什么?
答案 0 :(得分:1)
要使用您的格式打印浮动,您应该使用格式字符串(examples)。
所以你应该换行:
print rate, hours
为:
print("Rate = %.2f, Hours = %.0f" % (rate, hours))
# ^ ^
# | Remove all chars after point (may be you need to change that
# according your task)
# Use to chars after comma (no zeros removing)
答案 1 :(得分:1)
使用功能你可以做到
def computepay(h,r):
if (h>40) :
pay = (40*r)+(h-40)*1.5*r
else:
pay = (h*r)
return pay
try:
inp = raw_input("Please enter hours: ")
hours=float(inp)
inp = raw_input("Please enter rate: ")
rate= float(inp)
except:
print "Please enter a number as input"
quit()
print computepay(hours,rate)
答案 2 :(得分:0)
print rate, hours
似乎产生了检查程序不期望的输出,并且无法应对。只需注释掉那一行。
答案 3 :(得分:0)
hrs = raw_input("Enter Hours:")
h = float(hrs)
rate = raw_input("Enter rate:")
r = float(rate)
pay = h * r
print pay
这将是您的问题@ user3578390
的答案答案 4 :(得分:0)
4.6编写一个程序,使用输入来提示用户输入小时数和费率,以计算总工资。工资应为不超过40小时的正常工资,而对于40小时以上的所有工作小时,应按小时半的小时工资支付。将用于执行薪酬计算的逻辑放在名为computepay()的函数中,然后使用该函数进行计算。该函数应返回一个值。以45小时和每小时10.50的速度测试程序(工资应为498.75)。您应该使用输入读取字符串,并使用float()将字符串转换为数字。除非您愿意,否则不必担心错误检查用户输入-您可以假定用户正确键入了数字。不要命名您的变量sum或使用sum()函数。
def computepay(h,r):
if h <= 40:
return h * r
elif h > 40:
return (40 * r + ((h - 40) * 1.5 * r))
hrs = float(input("Enter Hours:"))
rate = float(input("Enter Rate:"))
p = computepay(hrs, rate)
print("Pay",p)
答案 5 :(得分:-1)
我这样做了:
hrs = raw_input("Enter Hours:")
h = float(hrs)
rate = raw_input("Enter rate:")
r = float(rate)
pay = h * r
if h <=40:
pay = h * r
else:
pay = r * 40 + (r * 1.5 * ( h - 40 ))
print pay