不匹配但不知道出了什么问题......(python)

时间:2014-04-27 14:09:08

标签: python variable-assignment

所以我需要编程方面的帮助。

我的任务是:

编写一个程序,使用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是正确的,但我一直在那里不匹配,所以我无法完成我的任务。谁知道我做错了什么?

6 个答案:

答案 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