使用函数外部函数的返回值

时间:2017-07-29 11:44:47

标签: python python-3.x function

我是编程新手,我从Python(版本3)开始。在那一刻我试图理解功能。我有一个简单的计算器来计算一个人的工资,包括随着时间的推移。该函数计算随着时间的推移。

def computeOvertime(h,r):
    standardHrs = 40
    overTimeRate = r * 1.5
    overTimeHrs = h - standardHrs
    overTimePay = overTimeHrs * overTimeRate
    return overTimePay

h = float(input("Enter Hours:"))
rate = input("Enter Rate:")
r = float(rate)

basicPay = 40 * r

p = computeOvertime(h,r)

totalPay = overTimePay + basicPay
print(totalPay)

当我运行此操作时,出现错误,指出名称overTimePay未定义。

我想当我从函数返回oveTimePay时,我可以在函数外部使用它。

我希望有人可以给我一些建议。

4 个答案:

答案 0 :(得分:2)

当你这样做时:

p = computeOvertime(h,r)

返回局部变量overTimePay(函数的本地变量)并将其赋值给变量p。尝试使用:

totalPay = p + basicPay

希望这就是你要找的......

答案 1 :(得分:0)

因为overTimePaycomputeOvertime函数中的局部变量。因此,如果您想将其用作全局,您可以:

def computeOvertime(h,r):
    standardHrs = 40
    overTimeRate = r * 1.5
    overTimeHrs = h - standardHrs
    global overTimePay
    overTimePay = overTimeHrs * overTimeRate

但在正常情况下,我通常喜欢这个

def computeOvertime(h,r):
    standardHrs = 40
    overTimeRate = r * 1.5
    overTimeHrs = h - standardHrs
    overTimePay = overTimeHrs * overTimeRate
    return overTimePay

p = computeOvertime(h,r)
totalPay = p + basicPay

答案 2 :(得分:0)

还记得你将computeOvertime结果保存到P吗?使用它。

p = computeOvertime(h,r)

totalPay = p + basicPay
print(totalPay)

答案 3 :(得分:0)

如果您在'p'中收集返回的值,那么为什么必须使用'OverTimePay'。

只需使用if (isset($_POST['entryId'], $_POST['accept'])) { $stmt = $connect->prepare('UPDATE withdraws SET confirmed = 1 WHERE id = ?'); $stmt->execute(new array($_POST['entryId'])); // or whatever API for prepared statements you are using... $stmt->close(); }

即可

或者使用关键字global将OverTimePay声明为全局变量。而以这种方式使用全局变量的另一件事并不是一件好事。因此,只需使用已存储返回结果的局部变量。