繁体   English   中英

Function 正确定义并正常工作,但未在终端中打印结果

[英]Function properly defined and working but not printing results in terminal

我最近写了一个简单的 function 来获取资产的现值,function PV 工作正常,我已经对其进行了测试。 function 在我的 pv 文件中打印效果很好。 但是,当我在主文件中运行此代码时,它不会将 output 打印到终端,而是在输入后关闭。 是否有一个原因? 作为参考,这些函数只执行一些简单的数学问题。

下面是一个最小的复制,两个文件都在同一个文件夹中。 在 file_x 你有一个 function 像这样工作:

def func(w,x,y,z):
    z1 = w/(1 + (x/100))**(y*z)
    print(z1)
    return 0

然后将此 function 导入到另一个文件中,如下所示

from file_x import func

w = int(input("Future Value: "))
x = float(input("ROR: "))
y = float(input("# of periods: "))
z = float(input("# of payment per anum: "))

func(w,x,y,z)

我的问题是,当我运行第二个文件时,它会正确输入输入,但不会打印 function 的结果。 希望解释得当

在交互模式下,未使用的表达式(此处为PV(w,x,y,z) ,它返回一个值但未使用该值)将打印到终端,因为这是仅显示表达式值的常用方法。

但是,当您以非交互模式( python script.py )运行脚本时,那些未使用的表达式将被丢弃。 作为一般规则,您永远不应该在脚本中使用这种未使用的表达式,因为其行为将取决于解释器的交互模式。

所以你应该明确:

_ = PV(w,x,y,z)     # value will be discarded even in interactive mode

或者

print(PV(w,x,y,z))  # value will be printed even in non interactive mode

暂无
暂无

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

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