“每天进步一点点”案例学习python数值操作

  • 时间:2020-11-08 05:54 作者:树哥区块链 来源: 阅读:1724
  • 扫一扫,手机访问
摘要:timg 79.jpeg这是树哥讲python系列的第四篇文章。本质上计算机熟习的是二进制,也就是我们常说的“0,1”代码,所以无论是执行的命令还是数据本身,都必需转化为0和1他们才会认知。而我们熟习的是自然语言,熟习的是十进制数字,所以在很多的情况我们补充了解少量在python中数值的少量操作手段
timg-79.jpeg

这是树哥讲python系列的第四篇文章。
本质上计算机熟习的是二进制,也就是我们常说的“0,1”代码,所以无论是执行的命令还是数据本身,都必需转化为0和1他们才会认知。而我们熟习的是自然语言,熟习的是十进制数字,所以在很多的情况我们补充了解少量在python中数值的少量操作手段。

一、案例分析

大家都会听到这样一句话:每天进步一点点,一年后将会收获巨大。其实树哥在朋友圈也看到过非常多的这样的说法,不过具体的数值不记得了。我们可以通过这个案例来计算一下,每天进步一点点,一年后会有多大的差距?

案例:
题目:假如一个人每天进步1%,一年后会进步多少?假如他每天退步1%,一年后会有多少退步?

分析:
这是一个比较简单的计算题,进步1%就是0.01, 1+0.01=1.01。 365天累计多少就变成了:

1.01的365次方。退步可以写作0.99的365次方。

可以查询一下,在python中,次方这样的东西使用pow这个运算符来表示:
pow(基础数字,次方),也就是变成如下的两句:

  • pow(1.01,365)
  • pow(0.99,365)

非常简单吧?

不过,假如你问:假如我每天进步2%呢?那么结果就会变成:

  • pow(1.02,365)
  • pow(0.98,365)

假如你还问,假如我每天进步3%,4%,或者者只是进步0.5%呢,那么这即可以改成:

  • input(“您准备每天进步或者退步的幅度是百分之:”)
  • pow(1+dayfactor,365)
  • pow(1-dayfactor,365)

可以看到,通过一个变量dayfactor容许客户的输入进步和退步的幅度,来计算最后的结果。可以编写的程序如下图:

image.png

当我们每天进步或者者退步1%时,执行的结果如下:

image.png

这意味着:积跬步以至千里,积懈怠以至深渊!

当我们每天进步或者者退步2%时,执行的结果如下:


image.png

这意味着:每天你比别人更努力一点点,其实已经差距上千倍。

可以尝试输入这几行代码,并执行看一下效果。

二、python基础数值操作

数值类型

整数类型

整数类型很好了解,我们日常生活中时常用的。

在程序的第一句,我们期待客户输入的也是整数。

其中,我们在第三条语句使用了pow()这样的函数,函数中可以使用整数,例如:

pow(2,3),就是说,2的3次方。

那么:pow(2,power(2,3))是什么意思呢?相当于第二个参数也利用pow函数代表了。

pow(2,pow(2,3))相当于 pow(2,8)

我们这里说的整数都是十进制,实际上在python中还支持其余的体现方式:

  • 十进制:正常写:365
  • 二进制:0b010,0B110. B是binary的缩写。
  • 八进制:0O223,0o456. O是Octal的缩写。
  • 十六进制:0x3c X是Hexadecimal的缩写。

浮点数

python中的浮点数有点相当于数学中的实数的概念,有小数的概念。

不过需要说明的是:

在计算机内使用二进制表示小数,所以不能完全相当于十进制。

这句话是什么意思呢?

例如:十进制数0.1,无法用二进制01代码完全精准表示,使用若干位的二进制表示出来的数字可以无限接近十进制数,但不能完全等于0.1。

这就带来了一个有意思的现象:

0.1+0.2 = 0.3 算式成立,不过 0.1+0.2 == 0.3 却是False。

第一个算式成立的起因只是把后面的小数进行四舍五入了而已,就像我们在上面案例中,每日减少0.02最终结果等于0一样:


image.png

其实,计算的结果是:0.006; 由于我们有取两位小数,才成了0。

image.png

在语句中,{:.2f} 的含义就是:format中的变量dayup放在这里,并取小数点后面两位。

但我们进行判断的时候(“==”在python中能否相当的意思做判断使用),就会发现0.1+0.2 其实与0.3并不完全相等。

这个时候,只需像案例程序四舍五入一下,即可以了,如下:

round(0.1+0.2,2) == 0.3 结果为 True。

验证图如下:


image.png

数值运算

简单来说,就是加减乘除求商求余次方等:

  • +:x+y 10+3 = 13
  • -:x-y 10-3 =7
  • *: x*y 10*3=30
  • /: x/y 10/3 = 3.33333333
  • //: x//y 10//3 = 3 求商去余
  • %:x%y 10%3 = 1 求余数
  • **: x**y,代表x的y次幂 =pow(x,y)

其中,python还提供了一种加强型操作方式:

  • x += y, 相当于:x = x+y
  • x -= y, 相当于:x = x -y
  • 其它的都与此相似。
数值运算函数

在我们的案例中,我们已经使用了pow(x,y)的函数。由于有了这么多的函数,所以在数值运算的时候,可以直接引用就会比较方便:

  • pow(x,y)求x的y次方
  • round(x,y)对x进行小数y位的四舍五入取值。
  • max(x1,x2....xn)在数字列表中找到最大的数字
  • min(x1,x2....xn)在数字列表中找到最小的数字
  • divmod(x,y)求商和余数
  • int(x)求x的整数

总结:计算机比较擅长处理计算性问题,所以对于数值的操作是我们必需要理解的知识。我们通过一个非常简单的案例:每天进步一点点来学习一下数值的少量操作知识,同时也让我们再次感悟到:每天都进步一点点的力量,每天进步百分之一,可以比原来增长37倍,假如每天进步2%,那么即可以比原来增长1000多倍。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】Fortigate飞塔防火墙如何开启DNS转发/DNS代理(2025-10-14 23:58)
【系统环境|】有了它,再也不用担心电脑弹窗广告和病毒啦!(2025-10-14 23:57)
【系统环境|】如何关闭恼人的电脑弹窗广告?2招搞定(2025-10-14 23:55)
【系统环境|】实用软件推荐:电脑广告弹窗多?用他,都给你屏蔽掉!(2025-10-14 23:55)
【系统环境|】Nginx篇01——基本安装配置和静态页面设置(2025-10-14 23:54)
【系统环境|】Linux端口开放,查看,删除,防火墙(2025-10-14 23:53)
【系统环境|】安全HTTP头部配置: 基于CSP与HSTS的Web安全策略(2025-10-14 23:52)
【系统环境|】老K:做私域过1000万的赛道全部都聚焦在女性身上!(2025-10-14 23:51)
【系统环境|】JavaScript跨域问题: 如何解决跨域访问和资源共享的安全策略(2025-10-14 23:51)
【系统环境|】家庭七级财务防火墙(2025-10-14 23:50)
手机二维码手机访问领取大礼包
返回顶部