你好,我正在尝试创建一个程序,你输入多少小时,你的工作率每小时。超过40的每小时计算为随时间(x1.5)。在
我在第11行收到一个名字错误。(加纳西亚=(霍拉斯*塔里法) 名称错误:未定义名称“horas”)
我不明白为什么,因为我在第二行定义了“horas”。谢谢你的时间!在
def calculo_salario() :
horas = float(input("input salario: "))
tarifa = float(input("input tarifa: "))
def sums(a,b):
sum = a + b
return sum
calculo_salario()
ganancias = (horas * tarifa)
preOt = (40 * tarifa)
if horas > 40 :
overtimeHr = horas - 40
overtimeAm = (overtimeHr * tarifa) * 1.5
gananciasOt = sums(overtimeAm, preOt)
print(gananciasOt)
else :
print(ganancias)
您的问题属于
horas
的范围。您将horas
定义为方法calculo_salario
中的局部变量。这意味着变量只在方法定义内部可用,而在外部不可用。在我建议您在不使用任何方法的情况下启动您的程序,然后通过在这些方法中封装逻辑来计算它是如何工作的。在
上面的代码应该运行时没有任何问题注意,现在所有变量都在脚本的全局范围内。在
检查变量范围。现在,}一旦
horas
和{calculo_salario()
完成,就会被删除。在要解决这个问题,一个选项是返回值。当然,在这个特定的实例中,您根本不需要方法,但这不是重点。在
我使用jhpratt的建议使用return将这些值赋给“calculo_salario()” 这是我最后的工作代码
相关问题 更多 >
编程相关推荐