如何在Python中以非指数形式打印非常大的自然数?
这个数字可能会非常大
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)
这样计算出来的结果会是一个整数,而且不会以科学计数法的形式显示出来。