我有一个新问题。 这是我的剧本。 我尝试用额外的加班来计算工资。 我无法理解这里的问题:
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!'
请帮忙。 我是编程新手
答案 0 :(得分:2)
你的问题是这样的:
R1 = print 'Pay:', (Hours-40)*Rate*1.5 + (40*Rate)
R2 = print 'Pay:', (Hours*Rate)
print
如果要将字符串设置为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中非常重要!您应该检查 Pep8 Style Guide for Python Code
您的功能名称为def computePay(Hours,Rate):
,但您未发送小时或费率。您在函数中要求他们,因此名称应为def computePay():
Python 中的manage/concatenate
字符串有多种方法,对于了解这一点非常有用,为每种情况选择最佳解决方案。有一个有用的示例教程:String concatenation and formatting in Python