python脚本中的错误

python脚本中的错误,python,python-2.7,Python,Python 2.7,我有一个新问题。 这是我的剧本。 我试着计算一份加班费。 我无法理解这里的问题: def computePay(Hours,Rate): print 'Enter Hours:\t' Hours = float (raw_input()) print 'Enter Rate:\t' Rate = float (raw_input()) try: if Hours > 40: R1 = print 'Pay:', (Hours-40)*Rate*1.5 + (40*Rat

我有一个新问题。 这是我的剧本。 我试着计算一份加班费。 我无法理解这里的问题:

def computePay(Hours,Rate):
 print 'Enter Hours:\t'
 Hours = float (raw_input())
 print 'Enter Rate:\t'
 Rate = float (raw_input())
 try:
  if Hours > 40:
   R1 = print 'Pay:', (Hours-40)*Rate*1.5 + (40*Rate)
   return R1
  else:
   R2 = print 'Pay:', (Hours*Rate)
   return R2
 except:
  print 'Error, please enter numeric input!'
请帮忙。
我是编程新手

您的问题如下:

R1 = print 'Pay:', (Hours-40)*Rate*1.5 + (40*Rate)
R2 = print 'Pay:', (Hours*Rate)
  • 将字符串指定给变量时,不能使用
    打印
如果要向R1和R2分配字符串,应执行以下操作:

R1 = 'Pay: ' + str((Hours-40)*Rate*1.5) + str((40*Rate))
R2 = 'Pay:' + str((Hours*Rate))
或者,您也可以执行以下操作:

R1 = 'Pay: %.2f  %.2f' % ( ((Hours-40)*Rate*1.5),  (40*Rate) )
R2 = 'Pay: %.2f' % ( Hours*Rate )
  • %.2f
    更改为
    %.Nf
    N
    小数位数
你的职能应该是:

def computePay():
    print 'Enter Hours:\t'
    Hours = float (raw_input())
    print 'Enter Rate:\t'
    Rate = float (raw_input())
    try:
        if Hours > 40:
            R1 = 'Pay: %.2f  %.2f' % ( ((Hours-40)*Rate*1.5),  (40*Rate) )
            return R1
        else:
            R2 = 'Pay: %.2f' % ( Hours*Rate )
            return R2
    except:
        print 'Error, please enter numeric input!'
如果执行代码,您将得到:

Enter Hours:    
20
Enter Rate: 
8
Pay: 160.00
提示
  • 缩进在Python中非常重要!您应该检查

  • 您的函数名是
    def computePay(小时,速率):
    但您没有发送HoursRate。您在函数中请求它们,因此名称应为
    def computePay():

  • Python中,有几种方法可以
    管理/连接
    字符串,如果不了解这方面的知识,可以为每种情况选择最佳解决方案,这是非常有用的。关于这一点,有一个有用的示例教程:


您有什么问题?你能更准确地描述一下吗?当你说
R1=print'Pay:',(Hours-40)*Rate*1.5+(40*Rate)
我有一个无效的synthaxI我想计算工资不要使用简单的“except”处理程序。它隐藏了你问题的本质。让我检查一下。我想让用户把他们的时间和费率,以便他可以有他的工资。输入小时数:45输入费率:10支付:475。0@user3438349现在检查答案,最后是没有错误的函数