这是树哥讲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容许用户的输入进步和退步的幅度,来计算最后的结果。可以编写的程序如下图:

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

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

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

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

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

二、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一样:

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

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

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

这个时候,只要像案例程序四舍五入一下,就可以了,如下:round(0.1+0.2,2) == 0.3 结果为 True。

验证图如下:

数值运算

简单来说,就是加减乘除求商求余次方等:+: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多倍。

python数值运算实例_“每天进步一点点”案例学习python数值操作相关推荐

  1. python正则表达式使用实例_正则表达式的基础知识,以及Python爬虫中的使用方法...

    一.正则表达式 实际上爬虫一共就四个主要步骤: 明确目标(要知道你准备在哪个范围或者网站去搜索) 爬(将所有的网站内容全部爬下来) 取(去掉对我们没有用处的数据) 处理数据 我们在第上一篇文章中介绍的 ...

  2. python tkinter计算器实例_可能是最有颜值的Python Tkinter计算器

    上机实践课程开始了,嗯,老师来了之后念了下PPT,然后说:开始做吧......... 然后就开始了Python的GUI之路,以前没接触过PYthon的可视化界面(虽然这样很不明智) 但是现在做起来感觉 ...

  3. python 抠图源码_比PS还好用!Python 20行代码批量抠图

    你是否曾经想将某张照片中的人物抠出来,然后拼接到其他图片上去,从而可以即使你在天涯海角,我也可以到此一游? 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道 ...

  4. python积木编程软件_童心制物慧编程全新 Python 编辑器正式上线

    原标题:童心制物慧编程全新 Python 编辑器正式上线 作为一款致力于 提供更专业.更多样的STEAM教育解决方案的编程软件,童心制物慧编程一直不断在优化慧编程的教学功能,只为了给所有编程教育者提供 ...

  5. python数值运算实例_Python矩阵常见运算操作实例总结

    本文实例讲述了Python矩阵常见运算操作.分享给大家供大家参考,具体如下: python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包. 一.numpy的导入 ...

  6. python提供了几个基本的数值运算操作符_慢步学习,二级python,数字类型及其运算...

    #我要学Python# 记得曾经的老师常说,要带着问题学习. 咱继续带着二级Python编程语言的考试大纲学习. 考试大纲中考试内容分七部分,其中第一部分Python 语言基本语法元素已经学完.笔者认 ...

  7. python交互界面实例_什么是“面向对象”程序设计-以Python为例

    面向对象的概念 面向对象(Object Oriented,OO)是软件开发方法.面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构.应用平台.分布式系统.网络管理 ...

  8. python交互界面实例_什么是“面向对象”程序设计以Python为例

    面向对象的概念 面向对象(Object Oriented,OO)是软件开发方法.面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构.应用平台.分布式系统.网络管理 ...

  9. 树莓派python交互界面实例_树莓派综合项目2:智能小车(二)tkinter图形界面控制...

    一.介绍 树莓派综合项目2:智能小车(一)四轮驱动中,实现了代码输入对四个电机的简单控制,本章将使用Python 的图形开发界面的库--Tkinter 模块(Tk 接口),编写本地运行的图形界面,控制 ...

最新文章

  1. 中国互联网+光通信器件行业商业模式创新与投资机会深度研究报告
  2. windows下mysql和linux下mysql主从配置
  3. 如何向亲戚们解释人工智能可以干啥?
  4. 循序渐进Python3(二) -- 数据类型
  5. 医疗影像网络PACS系统方案
  6. 解决IDEA2020.1版本不兼容Lombok的问题
  7. 助力中小企业级连云端,促进工业互联网平台蓬勃发展,全套解决方案。附:技术产品
  8. zoj 1406 Jungle Roads
  9. 用户态程序阻塞原因_进程阻塞 操作系统某种情况进行进程的阻塞和唤醒操作...
  10. tp5分页不加载搜索参数
  11. java 注释工具栏_eclipse/intellij idea 查看java源码和注释方法
  12. 多元高斯分布的边缘概率和条件概率
  13. 电商技术中企业数据总线ESB和注册服务管理的区别
  14. python蒙特卡洛求定积分_蒙特卡洛定积分(一)
  15. python爬取qq音乐歌词风变编程_爬取QQ音乐歌词
  16. 面试官:你在平时的工作中遇到过哪些问题让你印象深刻?
  17. (二) CGAL库应用:轮廓中轴骨架生成create_interior_straight_skeleton_2()及轮廓的偏置create_offset_polygons_2()
  18. bttray.exe
  19. 图片+css实现波浪
  20. EPLAN 接线端子

热门文章

  1. P1164 小A点菜 洛谷
  2. 向铁道部学习危机公关
  3. 实施定量风险分析-规划过程组
  4. 力扣123.买卖股票的最佳时机Ⅲ买卖股票的最佳时机Ⅳ
  5. Andriod应用破解越发简单
  6. 目标检测YOLO实战应用案例100讲-基于改进的YOLOv4柑橘目标检测算法
  7. 银行从业考试如何备考?
  8. 美国计算机硕士预科学校,关于美国硕士研究生预科在线课程
  9. LIBSVM 下载使用及实战
  10. Python爬虫系列(二):爬取中国大学排名丁香园-用户名和回复内容淘宝品比价