所以我有一个代码,当你输入小时数和费率时,计算出你的总资金。另外,如果你工作超过40小时,每多花一个小时,你就可以得到1.5倍的每小时工资。在
我的问题是我用以下代码定义了一个函数: 并使用命令提示符要求的computepay()运行它 “输入小时数” “输入费率”
然后它就退出了,没有吐出我想要的值。我完全没有编程,所以请帮助和耐心是感激。 谢谢您。在
def computepay():
try:
int1 = raw_input("Enter Hours")
h = float(int1)
int2= raw_input("Enter Rate")
r = float(int2)
except:
print "Error, please enter a numeric input"
quit()
if h >= 40:
pay1 = 40 * r + (h - 40) * r * 1.5
pay2 = h * r
return pay1
else:
return pay2
您没有为
else
条件分配pay2
通过这种方式,您可以将其作为函数调用并打印函数返回值
如果没有
print
,则无法获得该值,因此使用print和pay2
应在其他情况下进行计算或
^{pr2}$“然后它就退出了,没有吐出我想要的价值”。是的,但是如果你不在某处展示,你就看不到它。你需要:
现在你的代码有个错误:
^{pr2}$您在
if
分支的第一部分中定义了pay2
,但是尝试从第二个分支中返回它,因为它不存在。对于h
<;40的任何值,此代码将引发一个NameError
。你想要的是:可以简化为:
你的代码也有一些错误(wrt/良好的编码实践):不应该在同一个函数中混合请求计算的值和执行计算本身,因为这不会使你的函数可测试(自动单元测试)或可重用(使用不同的用户界面)。“正确的方法”是拆分代码,将计算与调用的方式分离:
相关问题 更多 >
编程相关推荐