【发布时间】:2019-11-28 04:03:32
【问题描述】:
我有一个名为 function_bucket.py 的 python 文件,我需要将 import modalprem() 函数转换为另一个名为 Array1.py 的文件。下面我提到了这两个函数的代码,但是在调用函数“No module named modalprem()”时,我看到了错误!。请帮我解决这个错误。
function_bucket.py 的代码
def main():
def modalprem():
return 1
if __name__ == "__main__":
main()
Array1.py 的代码
import numpy as np
from Function_Bucket import modalprem()
modalprem()
def main():
EA=50
PT = 15
PPT = 5
AP = 50000
Mode = 12
PM = np.arange(12*PT+1)
PY = np.arange(12*PT+1)
AGE = np.arange(12*PT+1)
PREM = np.arange(12*PT+1)
i=1
Modal_Premium = modalprem()
print(Modal_Premium)
if (Mode == 1):
Modal_Premium = AP
elif (Mode==2):
Modal_Premium = AP *0.5131
elif (Mode==4):
Modal_Premium = AP *0.2605
elif (Mode==12):
Modal_Premium = AP *0.0886
while(i <180):
PM[i] = i
PY[i] = int( (i+11)/12)
AGE[i] = EA + PY[i] -1
if (PM[i]<=PPT*12 and ((PM[i]-1)%(12/Mode) == 0)):
PREM[i] = Modal_Premium
else:
PREM[i] = 0
i = i+1
print(PM)
print(PY)
print(AGE)
print(PREM)
if __name__ == "__main__":
main()
谢谢
我们将不胜感激!
【问题讨论】:
-
你在function_bucket中定义的函数是
main,而不是modal_prem。您需要在main之外定义它。还有,导入的时候不要调用,在导入语句中省略() -
感谢您的回复。在 function_bucket 文件中,我需要定义多个 no。我将相应调用的函数。在那种情况下结果是否相同。 @njk2
-
@lonerunner 如果我理解你的问题,答案是肯定的,你可以定义多个函数。
-
您不必在“function_bucket.py”文件的主函数中定义“modal_prem”。只需在顶层定义它,然后将其导入另一个文件。
标签: python python-3.x function function-call