从另一个文件中调用函数的输出?

时间:2014-09-20 07:58:41

标签: python

这是一个非常基本的问题。

我有一个程序,根据用户输入的天数计算水果(苹果+香蕉)的总数。苹果产量和总果实数量在fruit.py中计算:

from bananas import Bp

day_count = int(input("How many days have passed?" ))
apple_production = day_count * 100
fruit_total = apple_production + banana_production
print("Total amount of fruit is", fruit_total)

香蕉产量在另一个文件bananas.py中计算并定义为函数:

def Bp(day_count):
    banana_production = day_count * 200
    return banana_production

所以我的问题是,当我尝试运行bananas.py时,我收到错误" name' banana_production'未定义"。

显然,我在这里错过了一个重要的步骤。如何从bananas.py中调用banana_production的输出值以在fruit.py中使用?

顺便说一下,我意识到我可以将两者合并为一个文件,但这个问题的关键在于找出如何这样做。

2 个答案:

答案 0 :(得分:0)

我认为您希望 fruit.py 说:

from bananas import Bp

day_count = int(input("How many days have passed?" ))
apple_production = day_count * 100
fruit_total = apple_production + Bp(day_count)  # see how I'm calling the function declared in bananas.py
print("Total amount of fruit is", fruit_total)

(如果你向我们展示了bananas.py的全部内容,那么就没有任何内容可以"运行"它只是一个函数声明。运行bananas.py如上所述不会给出您描述的错误消息。也许您的意思是#34;当我运行fruit.py"?)

答案 1 :(得分:0)

您收到的消息banana_production未定义,因为您尚未在fruit.py中的任何位置定义它。虽然变量是在bananas.py中定义的,但你必须做这样的事情来实现你想要的东西:

所以,你所要做的就是添加这一行:

banana_production = Bp(day_count)

计算apple_production后

整个包裹:

bananas.py :(无变化):

def Bp(day_count):
    banana_production = day_count * 200
    return banana_production

<强> fruit.py:

from bananas import Bp

day_count = int(input("How many days have passed?" ))
apple_production = day_count * 100
banana_production = Bp(day_count) # Add this line
fruit_total = apple_production + banana_production
print("Total amount of fruit is", fruit_total)