代码以交互方式运行时显示结果,但在从sh​​ell运行时则不显示

时间:2014-09-10 20:56:33

标签: python console

我从另一张海报中借用了这个小小的科学记法脚本:Display a decimal in scientific notation

def format_e(n):
    a = '%E' % n
    return a.split('E')[0].rstrip('0').rstrip('.') + 'E' + a.split('E')[1]

format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# '4E+10'

format_e(Decimal('40812300000.00000000000000'))

当从终端或Python Shell作为模块操作时,该函数可以正常工作。但是,当像' python Converter.py'它立即终止而不返回上述三个例子中的任何一个。

1 个答案:

答案 0 :(得分:4)

交互式解释器自动回显任何不返回None的表达式的结果。在脚本中,您需要明确地打印您想要查看的结果:

print format_e(Decimal('40800000000.00000000000000'))
print format_e(Decimal('40000000000.00000000000000'))
print format_e(Decimal('40812300000.00000000000000'))
相关问题