繁体   English   中英

从另一个函数调用一个函数进行计算(Python)

[英]Calling a function from another function for calculation (Python)

我的问题是我试图从另一个函数区域调用函数成本来完成从主函数调用返回的所有值。 这是作业,我被卡住了。 如果我不必从面积函数中调用成本函数而只需进行计算,那么这个问题对我来说很容易。

import math


def cost(price, area):

    return price / area

def area(size):

    radius = size / 2
    area = (radius**2) * math.pi
    finalprice = cost(price, area) / area
    return finalprice


def main():

    size = int(input("How big is your pizza?: "))
    price = float(input("How much does the whole pizza cost?: "))

    answer = area(size)
    print("${0:0.3f}".format(answer))

main()

你为什么要把这个区域划分两次? 我猜你想计算披萨的每个单位面积的成本是多少?

import math
def area(diameter , price):
    radius = diameter / 2
    area = (radius**2) * math.pi
    finalprice = price/ area
    return finalprice
def main():
    size = int(input("How big is your pizza?: "))
    price = float(input("How much does the whole pizza cost?: "))
    answer = area(size, price)
    print("${0:0.3f}".format(answer))

main()

您正在尝试使用未在 area() 函数范围内定义的变量。

在 area() 函数中,我们有未定义的大小和价格。 您从 main() 传入 size 变量,但随后将其重命名为直径,并且不使用此直径变量。

您还应该传递 price 变量,因为您需要它来进行计算。

def area(diameter, price):
    radius = diameter / 2
    area = (radius**2) * math.pi
    finalprice = cost(price, area) / area
    return finalprice

另外,在计算最终价格时(以及在您的成本函数中)要小心整数除法......这可能会导致您的计算出错。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM