Python 3.5根据一个人的小时工资和小时工资率计算其工资
根据某人的工资率和工作时间计算其工资。下面的代码计算为:Python 3.5根据一个人的小时工资和小时工资率计算其工资,python,python-3.x,Python,Python 3.x,根据某人的工资率和工作时间计算其工资。下面的代码计算为: <function salary at 0x000002326B31D048> 如何使用下面的代码运行此操作 payrate= input("How much do you get paid per hour") hrsworked= input("How many hours have you worked?") def salary(pay): if hrsworked<=4
<function salary at 0x000002326B31D048>
如何使用下面的代码运行此操作
payrate= input("How much do you get paid per hour")
hrsworked= input("How many hours have you worked?")
def salary(pay):
if hrsworked<=40:
salary=payrate*hrsworked
elif hrsworked>40:
salary=payrate*(1.5*(hrsworked-40))
return salary
print (salary)
您没有调用您定义的salary函数,您定义了一个从未使用过的参数。将函数定义更改为:
def salary(payrate, hrsworked):
if hrsworked<=40:
salary=payrate*hrsworked
elif hrsworked>40:
salary=payrate*(1.5*(hrsworked-40))
return salary
请注意,在这种情况下,函数不需要接受参数,因为它可以读取您设置的全局变量,但这样做是最佳实践;除非重写全局变量,否则无法重用的函数,因为它不是非常灵活/可重用的。您没有调用定义的薪资函数,并且定义了一个从未使用过的参数。将函数定义更改为:
def salary(payrate, hrsworked):
if hrsworked<=40:
salary=payrate*hrsworked
elif hrsworked>40:
salary=payrate*(1.5*(hrsworked-40))
return salary
请注意,在这种情况下,函数不需要接受参数,因为它可以读取您设置的全局变量,但这样做是最佳实践;除非重写全局变量,否则无法重用的函数,因为它不是非常灵活/可重用。您正在尝试通过执行printsalary来打印函数。从这个函数中删除pay参数,它什么也不做 最后,您可能需要的打印函数是printsalary,它将实际调用salary函数并打印其值
Shadow的答案更好,因为它不依赖全局变量,这很容易成为程序中的一个问题 您正试图通过执行printsalary来打印函数。从这个函数中删除pay参数,它什么也不做 最后,您可能需要的打印函数是printsalary,它将实际调用salary函数并打印其值 Shadow的答案更好,因为它不依赖全局变量,这很容易成为程序中的一个问题 这里的东西很少 您正在尝试打印薪水,薪水可以是变量,也可以是函数。我建议重命名函数或变量。 我想你是想在print函数中调用salary。但是,您已将pay设置为打印函数中未使用的参数。印刷工资 您使用的是数字,因此最好直接将输入函数转换为int,如-payrate=intinputh您每小时获得多少工资,对另一个也一样。 我修复了代码,现在可以使用了 另外,我不确定我们是应该在这里给出答案,还是只是引导他们通过它。不管怎样,我会给你的,如果我是新来的,请告诉我不应该这样做: 这里没什么 您正在尝试打印薪水,薪水可以是变量,也可以是函数。我建议重命名函数或变量。 我想你是想在print函数中调用salary。但是,您已将pay设置为打印函数中未使用的参数。印刷工资 您使用的是数字,因此最好直接将输入函数转换为int,如-payrate=intinputh您每小时获得多少工资,对另一个也一样。 我修复了代码,现在可以使用了 另外,我不确定我们是应该在这里给出答案,还是只是引导他们通过它。不管怎样,我会给你的,如果我是新来的,请告诉我不应该这样做: 比: 因为您使用的是全局变量和复杂代码,这可能会有问题 另一项说明: 您有一个名为salary的函数和一个名为salary的变量。那太糟糕了,请更改一个的名称 比: 因为您使用的是全局变量和复杂代码,这可能会有问题 另一项说明:
您有一个名为salary的函数和一个名为salary的变量。这很糟糕,请更改一个程序的名称。理想情况下,给他们答案,但请解释为什么它有效,以便任何人都能理解。此外,你应该在帖子中内联程序,而不是发布到外部网站。保持谦虚!理想情况下,给他们答案,但解释为什么它有效,以便任何人都能理解。此外,你应该在你的帖子中内联程序,而不是发布到外部网站。保持谦虚!
payrate = int(input("How much do you get paid per hour"))
hrsworked = int(input("How many hours have you worked?"))
def salary():
if hrsworked <= 40:
salary = payrate * hrsworked
elif hrsworked > 40:
salary = payrate * (1.5 * (hrsworked - 40) )
return salary
print(salary())
def salary(payrate, hrsworked):
# And
print(salary(payrate, hrsworked))
def salary():