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

2024-10-01 17:32:25 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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()

Tags: 函数answerinputsizereturnmaindefarea
2条回答

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

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

你也应该传递价格变量,因为你需要它来计算。在

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

另外,在计算最终价格(以及在成本函数中)时,请注意整数除法。。。这可能会导致计算错误。在

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

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()

相关问题 更多 >

    热门问题