(本文数字全部瞎编,仅作举例之用,请勿相信。
另,本人Python初学者,写个文章作为笔记,也希望可以对他人有所帮助,如有错误或更好地实现方法欢迎各路朋友们指教)
如果float类型位数过多,输出时会自动变成指数形式,如下
import math
m = 5.52 #密度
r = float(input('请输入地球直径(km):'))
V = 4*math.pi*r**3/3
W = m*V*1000**3
print('地球重量为',W,'吨')
#运行结果
请输入地球直径(km):1234
地球重量为 4.344833777941348e+19 吨
这样输出的数据很不好看,虽然是科学计数法,但小数点位数过多
可以通过格式化输出,实现完整的整数或漂亮的科学计数法
有两种方法:
import math
m = 5.52
r = float(input('请输入地球直径(km):'))
V = 4*math.pi*r**3/3
W = m*V*1000**3
print('地球重量为%.2e吨'%W) #.2是规定了2位小数
print('地球重量为{:.2e}吨'.format(W))
请输入地球直径(km):1234
地球重量为4.34e+19吨
地球重量为4.34e+19吨
可以看到这两种方法的输出结果是一样的
实现方法是一样的,只不过把上文类型符的e改为f,代码如下
import math
m = 5.52
r = float(input('请输入地球直径(km):'))
V = 4*math.pi*r**3/3
W = m*V*1000**3
print('地球重量为%.f吨'%W)
请输入地球直径(km):1234
地球重量为43448337779413483520吨
利用各种格式化输出方法,更改类型符就可以实现切换
e 是输出指数形式,即科学计数法
f 是输出小数形式,即完整数值