《Python Cookbook 3rd》笔记(3.8):分数运算
分数运算
问题
你穿越时空,回到童年,突然发现你正在做小学家庭作业,并涉及到分数计算问题。或者你可能需要写代码去计算在你的木工工厂中的测量值。
解法
fractions 模块可以被用来执行包含分数的数学运算。比如:
>>> from fractions import Fraction
>>> a = Fraction(5, 4)
>>> b = Fraction(7, 16)
>>> print(a + b)
27/16
>>> print(a * b)
35/64
>>> # Getting numerator/denominator
>>> c = a * b
>>> c.numerator
35
>>> c.denominator
64
>>> # Converting to a float
>>> float(c)
0.546875
>>> # Limiting the denominator of a value
>>> print(c.limit_denominator(8))
4/7
>>> # Converting a float to a fraction
>>> x = 3.75
>>> y = Fraction(*x.as_integer_ratio())
>>> y
Fraction(15, 4)
>>>
讨论
在大多数程序中一般不会出现分数的计算问题,但是有时候还是需要用到的。比如,在一个允许接受分数形式的测试单位并以分数形式执行运算的程序中,直接使用分数可以减少手动转换为小数或浮点数的工作。
《Python Cookbook 3rd》笔记(3.8):分数运算相关推荐
- 《Python Cookbook 3rd》笔记(1.4):查找最大或最小的N个元素
<Python Cookbook 3rd>1.4:查找最大或最小的N个元素 问题 怎样从一个集合中获得最大或者最小的N个元素列表? 解法 heapq 模块有两个函数:nlargest()和 ...
- Python Cookbook 3rd Edition Documentation
Python Cookbook 3rd Edition Documentation 文章目录 第一章:数据结构和算法 1.1 解压序列赋值给多个变量 问题 解决方案 讨论 1.2 解压可迭代对象赋值给 ...
- Machine Learning with Python Cookbook 学习笔记 第6章
Chapter 6. Handling Text 本笔记是针对人工智能典型算法的课程中Machine Learning with Python Cookbook的学习笔记 学习的实战代码都放在代码压缩 ...
- 《Python cookbook》笔记二
<Python cookbook>笔记二 第二章 字符串和文本 -使用多个界定符分割字符串- 你需要将一个字符串分割为多个字段,但是分隔符 (还有周围的空格) 并不是固定 的. # str ...
- Machine Learning with Python Cookbook 学习笔记 第8章
Chapter 8. Handling Images 前言 本笔记是针对人工智能典型算法的课程中Machine Learning with Python Cookbook的学习笔记 学习的实战代码都放 ...
- Machine Learning with Python Cookbook 学习笔记 第9章
Chapter 9. Dimensionality Reduction Using Feature Extraction 前言 本笔记是针对人工智能典型算法的课程中Machine Learning w ...
- 《Python Cookbook 3rd》笔记汇总
文章目录 一.数据结构 二.字符串和文本 三.数字.日期和时间 四.迭代器与生成器 五.文件与IO 一.数据结构 标题 关键词 1.1:拆分序列后赋值给多个变量 可迭代对象.拆分赋值 1.2:拆分任意 ...
- 《Python cookbook》笔记一
<Python cookbook> 第一章 数据结构和算法 - *号解压多个变量 - 如果一个可迭代对象的元素个数超过变量个数时,会抛出一个 ValueError .那么 怎样才能从这个可 ...
- 《Python Cookbook 3rd》笔记(3.9):大型数组运算
大型数组运算 问题 你需要在大数据集 (比如数组或网格) 上面执行计算. 解法 涉及到数组的重量级运算操作,可以使用 NumPy 库. NumPy 的一个主要特征是它会给 Python 提供一个数组对 ...
最新文章
- undefined reference to 'WinMain@16' 的四种情况
- aforge videoresolution获取的相机像素不全_新手做视觉系统,如何选择合适的相机?...
- 设计模式:装饰者模式(Decorator)
- 非法ip通过ssh成功登录,自动结束会话
- linux内核 块驱动程序,linux – 为什么内核使用默认的块驱动程序而不是我的驱动程序代码?...
- hadoop应用开发技术..._大数据技术与应用——万物皆可数据化
- 关于jacob 无法创建ActiveXCompnent对象的几种可能性
- truecrypt linux用法,TrueCrypt介绍及入门使用讲解【翻译】
- java输入、输出流的简单入门
- java如何解除文件锁定状态_Eclipse操作SVN时中断锁定,文件的解锁方法
- iOS开发-Masonry约束宽高比
- 一些触动人心的动效设计欣赏
- 单片机应用系统设计技术——LCD滚动显示汉字
- 服务器虚拟光驱,虚拟光驱2016(daemon tools Lite)
- SpringBoot单元测试断言 assertions
- 2021年计算机试题,2021年计算机试题及答案-20210515145837.doc-原创力文档
- 【论文相关】强化学习:提前看287篇ICLR-2021 深度强化学习领域论文得分汇总列表...
- 多源bfs Spicy Restaurant
- 工业级压力传感器设计及实现(华大半导体HC32L136)
- DL深度学习部分成果展示
热门文章
- zookeeper 可视化_大厂,常用,四款,大屏可视化工具
- Linux显示txt文件,如何在Linux中显示文本文件中的某些行?
- 狼人杀服务器紧急维护中,狼人杀最可怕的武器是那张嘴?禁言长老:你已被管理员禁言一天!...
- html多出的空白页怎么删除,word多出一页空白页怎么删除,这4个方法总有一个能解决,真实挂机网赚项目...
- python i开发工具_Python轻量级开发工具Genay使用
- 【转】C++/CLI简介(什么是C++/CLI) -------C++/CLI 编程系列一
- 第八节:常见安全隐患和传统的基于Session和Token的安全校验
- SharePoint Permission中6个表的关联关系**
- php网站评论模块怎么写,模块内容评论循环
- python操作hive数据库代码_Python连接Hive操作数据库