前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >零基础学编程009:只显示2位小数

零基础学编程009:只显示2位小数

作者头像
申龙斌
发布2018-03-06 10:39:37
9560
发布2018-03-06 10:39:37
举报
文章被收录于专栏:申龙斌的程序人生

我们仍要继续解决这个问题:如何用Python打印这篇枯燥的《复利数据表》?

(1+0.01) ^ 1 = 1.01 (1+0.01) ^ 2 = 1.02 (1+0.01) ^ 3 = 1.03 ... ... (1+0.01) ^ 364 = 37.41 (1+0.01) ^ 365 = 37.78

学完《零基础学编程007:FOR循环》之后,我们已经可以输出这样五行数据:

(1+0.01) ^ 361 = 36.30913774096189 (1+0.01) ^ 362 = 36.672229118371504 (1+0.01) ^ 363 = 37.03895140955522 (1+0.01) ^ 364 = 37.409340923650774 (1+0.01) ^ 365 = 37.78343433288728

但有一个明显的问题,电脑计算得太太太精确了,每个数后面都拖着10多位的小数,而我们只要两位小数就够了,怎么办呢?

编程新手到这里可能就束手无策了,此时《“零基础学编程”都需要哪些基础?》里提到的2项技能就要发挥作用了。

1)英语基础

一种容易想到的办法是对第3位的小数部分进行四舍五入的运算,在英语里四舍五入叫round,小数在计算机的世界里经常被称为浮点数float。

2)搜索技能

现在需要google出场了,输入关键词“python round float”:

如果没有V**,只能用某度试试了,你自己对比一下搜索结果吧。点击文末的“阅读原文”到stackoverflow上看看那篇排在第一位的详细答案有多详细吧,纯英文的。

3)立即到python 的IDLE中试试:

>>> round(36.30913774096189, 2) 36.31 >>> round(36.672229118371504, 2) 36.67

效果不错,大概意思很容易猜出来,round(x, 2)就是把x这个数保留两位小数。

4)把第7课《零基础学编程007:FOR循环》的代码抄过来,稍加修改,在python IDLE环境中执行一下,看看效果:

代码语言:javascript
复制
for i in [361,362,363,364,365] :
    print( "(1+0.01) ^", i, "=", round(1.01**i, 2) )

小结:

1)英语基础好绝对大有帮助

2)会用搜索,能够快速定位到有用的资源,节省大量的时间

3)立即在python IDLE中尝试,帮助快速理解代码的作用

4)知道了round(x, 2)函数的意思

5)多看看资料,实际上round(x)就是四舍五入的取整

6)联系到电子表格EXCEL,你也用过ROUND(x)函数吧?道理都是一样的,许多编程语言中的取整函数都叫round

7)在stackoverflow的原文中还提到了另一种更为通用的解决办法,是用format函数,这里先不介绍了

--- END ---

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 申龙斌的程序人生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档