(转) python学习笔记6--fraction
原文:https://blog.csdn.net/lemonwyc/article/details/37592883
fraction模块提供有关有理数的算术表达和计算,实际上就是分数的表达和计算。python中的一个分数可以由以下几种方式构造出来:
Fraction(numerator=0, denominator=1) :第一个参数是分子,默认为0;第二个参数为分母,默认为1。比如Fraction(2)=2;Fraction()=0。
Fraction(other_fraction) :从其他分数构造。
Fraction(float) :从float构造,表达出的分数值与float在内存中的存储值对应,可能不够精确。
Fraction(decimal) :从Decimla数构造。
Fraction(string):从string构造。
使用如下:
- from fractions import *
- from decimal import *
- #Construct a Fraction by numerator and denominator
- print (Fraction(3)) #3
- print (Fraction()) #0
- print (Fraction(10,8)) #5/4
- #construct by other fraction
- print (Fraction(5/4)) #5/4
- #construct by float
- print (Fraction(2.5)) #5/2
- print (Fraction(1.1)) #2476979795053773/2251799813685248
- #construct by decimal
- print (Fraction(Decimal('2.5'))) #5/2
- #construct by string
- print (Fraction('12/23')) #12/23
另外,fraction和math中还有几个关于分数操作比较常见的函数
limit_denominator(max=1000000):可以截取想要得到的分母最大值;
floor(fraction):小于该分数的最大整数;
ceil(fraction):大于该分数的最小整数;
round(fraction):各版本略有不同,没具体分析,通常是最近的整数。
- #test functions
- print (Fraction('3.1415926').limit_denominator(1000)) #355/113
- print (floor(Fraction(355,113))) #2
- print (ceil(Fraction(355,113))) #3
(转) python学习笔记6--fraction的更多相关文章
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- python学习笔记--Django入门0 安装dangjo
经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...
- python学习笔记(一)元组,序列,字典
python学习笔记(一)元组,序列,字典
- Pythoner | 你像从前一样的Python学习笔记
Pythoner | 你像从前一样的Python学习笔记 Pythoner
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹
python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...
随机推荐
- composer 安装扩展失败的决绝方法
https://getyii.com/topic/32
- Linux命令:ps
Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...
- C++之类和对象课后习题1
建立一个对象数组,内放5个学生的(学号,成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生的最高成绩者,并输出其学号. #include<iostream> ...
- 安装memcache服务
d:\tools\memcache\setup\memcached -d install
- 配置 struts2 时掉进 web.xml 的坑
这个声明不好用 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN&quo ...
- linux cpu过高原因及代码定位
1. top命令查看CPU和内存占用率 top回车,然后按1 发现进程PID 35163 CPU和内存占用率都很高 top - 06:13:47 up 5:31, 1 user, load av ...
- vux 入门备忘大佬多指点
一.安装node.js https://nodejs.org/en/ 这样就可以使用npm喽 二.安装vux 安装vux npm install vux --save 安装vux-loader npm ...
- 2D Convex Hulls and Extreme Points( Convex Hull Algorithms) CGAL 4.13 -User Manual
1 Introduction A subset S⊆R2 is convex if for any two points p and q in the set the line segment wit ...
- Day 43数据库(Day1)
创建表. create table student( id int not null auto_increment PRIMARY key, name archar() not null, age i ...
- openvswitch datapath 内核态流表创建过程(ovs_flow_cmd_new)
datapath流表更新的入口函数都定义在dp_flow_genl_ops中,流表创建的入口函数是ovs_flow_cmd_new函数,通过该函数,我们可以一窥流表相关信息的建立. 1.ovs_flo ...