Skip to content

Latest commit

 

History

History
119 lines (87 loc) · 2.63 KB

File metadata and controls

119 lines (87 loc) · 2.63 KB
Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0381
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
- 本教程同步发布在: 
	- 个人网站: `https://oeasy.org` 
	- 蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
	- GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
	- Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

负数表示

回忆

  • 上次 除法

    • 总共两种除法
    • / 普通除法
    • // 整数除法
  • 整除的时候遇到一个问题

    • 为什么 3 // -0.23
      • 得到 -14.0 呢? 🤪

图片描述

  • 这还是得从取整说起

四舍五入

  • 对小数
    • 进行四舍五入

图片描述

  • 四舍五入看的是
    • 小数点后一位
    • 也就是十分位
    • 四舍五入
  • 除此之外还有什么取整方法么?

天花板取整

  • math.ceil函数
    • 向上取整函数
    • 只要有小数部分不为零
    • 就要进位取整
  • 使用之前要先
    • import math

图片描述

  • 很像虚岁
    • 问多大了?
      • 6 岁过了半天
      • 算 7 岁
  • 天花板 是不是
    • 一定往上走呢?

天花板特例

图片描述

  • 上面的这个精度浮点型取不到
  • 从有效数字部分就给截取了

图片描述

  • 有天花板就得有地板

地板取整

图片描述

  • 就很像实岁
  • 只要没到 7 岁生日那天
  • 实岁都算 6 岁
  • 地板取整也有特例么?

地板取整特例

  • 想象中的浮点数
    • 理论上有无穷多位
  • 不过落在现实中
    • 是 4个字节 或者 8个字节
      • 这就一定会有精度的问题

图片描述

  • 超出他有效数字的精度
    • 在做地板取整之前
      • 得到原始数字的时候得到的就是 3.0

取整方法

  • 三种取整方法
    1. floor 向下 地板取整
    2. ceil 向上 天花板取整
    3. round 理谁近找谁 四舍五入取整

图片描述

总结

  • 这次观察余数细节

  • 有三种取整方法

    • 向上天花板
    • 向下地板
    • 四舍五入
  • 整除取余数// 和 divmod 函数

    • 用的都是 向下地板法
    • 但有时候 会出某些错误
  • int 函数取整的话

  • 用的是天花板还是地板呢??🤪

  • 下次再说 👋


  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。