如何在Python中以非指数形式打印非常大的自然数?

3 投票
2 回答
1992 浏览
提问于 2025-04-20 06:33

这个数字可能会非常大

n = input()
print(n) #gives output in scientific notation

怎么才能获取这个完整的数字呢?

附注:我刚开始学Python

编辑:

s = (input())      #100000000000000000000000000000000000000
if int(s[-1])%2 == 0:
    print (2)
    print (2)
    print (int(s)/2)         #5e+37

2 个回答

1

你可以使用 {:2E} 这个格式代码把一个很大的数字转换成科学计数法。举个例子:

>>> "{:.2E}".format(100000000000000000000000000000000000000)
'1.00E+38'

还有另一种方法可以做到这一点:

>>> n = 100000000000000000000000000000000000000
>>> '%2E' % n
'1.000000E+38'

想了解更多关于如何去掉输出中多余的零,可以看看 这个问题

3

在Python 3中,如果你想要进行整数除法,可以使用//这个符号:

print(int(s) // 2)

这样计算出来的结果会是一个整数,而且不会以科学计数法的形式显示出来。

撰写回答