python中用于分数计算的模块是fractions,本篇博客内容来自官网:fractions — 分数

文章目录

  • 一、fraction的基本用法

1、float类型引号引起来

2、limit_denominator(max_denominator

  • 二、如何避免浮点数(float)和有理数转化“失真”

1、实例化

2、获取分子和分母

一、fraction的基本用法

1、实例化

Fraction(numerator=0, denominator=1),其中numerator是分子,denominator是分母。并且能够单独接受“有理数”、float、decimal和string类型的数字。

示例如下:

  1. >>> from fractions import Fraction
  2. #第一个数是分子,第二个数是分母
  3. >>> Fraction(2,6)
  4. Fraction(1, 3)
  5. #可以直接进行四则运算,如果最后的结果以分数(有理数)显示,可以直接使用Fraction类型计算,不必和float来回转换
  6. >>> Fraction(2,6)*Fraction(1,4)
  7. Fraction(1, 12)
  8. >>> Fraction(2,6)/Fraction(1,4)
  9. Fraction(4, 3)
  10. # 0的表示
  11. >>> Fraction(0)
  12. Fraction(0, 1)

如果分数没有被引号引起来,就会当作float类型处理,就会出现偏差,原因可参考python控制小数位数和四舍五入问题详解

  1. >>> Fraction('2/3')
  2. Fraction(2, 3)
  3. >>> Fraction(2/3)
  4. Fraction(6004799503160661, 9007199254740992)
  5. #直接Fraction(1.1)得不到我们想要的11/10结果
  6. >>> Fraction(1.1)
  7. Fraction(2476979795053773, 2251799813685248)
  8. >>> Fraction('1.1')
  9. Fraction(11, 10)

2、获取分子和分母

示例:

  1. >>> from fractions import Fraction
  2. >>> Fraction(3,6).numerator
  3. 1
  4. >>> Fraction(3,6).denominator
  5. 2

二、如何避免浮点数(float)和有理数转化“失真”

1、float类型引号引起来

正如上面的示例,float类型如果引起来,可以有效避免失真。

  1. >>> Fraction('1.1')
  2. Fraction(11, 10)
  3. >>> Fraction(1.1)
  4. Fraction(2476979795053773, 2251799813685248)

2、limit_denominator(max_denominator)

max_denominator默认值是1000000,这个函数用于返回一个分母不大于max_denominator且最接近原值的分数,示例如下:

  1. >>> from math import pi
  2. >>> Fraction(pi)
  3. Fraction(884279719003555, 281474976710656)
  4. >>> Fraction(pi).limit_denominator(1000)
  5. Fraction(355, 113)
  6. >>> Fraction(pi).limit_denominator()
  7. Fraction(3126535, 995207)
  8. #也能用于一些浮点数到有理数的“期望”转化
  9. >>> Fraction(1.1).limit_denominator()
  10. Fraction(11, 10)

原文链接:https://blog.csdn.net/u012949658/article/details/105837120


http://www.taodudu.cc/news/show-5979209.html

相关文章:

  • 【小数化成分数方法+最大公约数化简分数】HDU-1717 小数化分数2
  • python爬图片显示不了_Python爬取网页中的图片(搜狗图片)详解
  • UE4打包成APK的详细教程(普通安卓应用,VR全景应用尚在探索中,之后若解决会更新)
  • “韭零后”都是这样看基金的!!!
  • 【深度学习】基于caffe的表情识别(二):数据集介绍及处理
  • MATLAB【数字图像处理】 大作业:人脸表情识别
  • Markdown笔记:痛苦与挣扎
  • SEO初级|网站结构优化—URL地址规范化
  • UML的结构
  • 探索网站的目录结构
  • 南京大学计算机夏博士,夏思宇
  • python程序编写应注意哪些问题_用 Python 写爬虫时应该注意哪些坑?
  • 合肥耀之阳电商:店铺运营需要注意哪些相关事项
  • 四川玖益科技:新店运营的注意事项
  • 拼多多新手开店指南及注意事项|一度智信
  • 一度智信:新手需要掌握的电商店铺前期运营注意事项
  • 榆熙教育:拼多多开店注意事项,商家必看规则
  • 拼多多新手卖家选品要注意什么?
  • 四川玖益科技:开店的注意事项分析
  • eBay账号防关联的注意事项
  • 耀之阳电商:店铺推广的注意事项
  • 新手站长做网站优化注意事项
  • 拼多多开店注意事项,海昇智:商家需注意
  • 艾司博讯:拼多多新店前期运营注意事项
  • Shopee新店铺如何通过孵化期?孵化期新手任务及注意事项
  • 东南亚跨境电商讲解,Shopee上架商品的注意事项,这六条不能违反
  • 做跨境电商前:新人必须要了解的注意事项,这三点很重要
  • 新手购买数码相机的十点建议
  • 亚马逊店铺注册注意事项,亚马逊无货源模式的到来会成为热门吗?
  • 店铺标题优化的注意事项

python中关于小数转分数相关推荐

  1. 将python中的小数直接进位的函数_python保留小数位的三种实现方法

    python保留小数位的三种实现方法 前言 保留小数位是我们经常会碰到的问题,尤其是刷题过程中.那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单 ...

  2. python中保留小数_python保留小数位的三种实现方法

    前言 保留小数位是我们经常会碰到的问题,尤其是刷题过程中.那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单实用的保留小数位的方法: 方法一:fo ...

  3. python中的小数_Python中的浮点数和小数

    简介 float类型,即浮点数,是Python内置的对象类型:decimal类型,即小数类型,则是Python的标准库之一decimal提供的对象类型,也是内置的.了解decimal类型的最佳资料,就 ...

  4. python中小数_比较python中的小数

    你的措辞表明你想用货币计算,但要注意你的舍入误差.小数是一个很好的选择,因为它们在与其他小数进行加法.减法和乘法运算时会产生精确的结果. 奇怪的是,您的示例显示使用分数"1/3". ...

  5. python中小数_如何在Python中乘以小数

    在Python 3 input中将返回一个字符串.这基本上等同于Python 2中的raw_input.因此,您需要在执行任何计算之前将该字符串转换为数字.并准备好"输入错误"(即 ...

  6. python中带有小数的字符串如何转化为数字_python中,如何将字符串转换为数字(将数字转换为整型),字符串的10转换为整型的10,10.5转换为10...

    说明: 在实际的应用过程中,有的时候可能会遇到字符串的10,需要将字符串的10转换为数字的10 在此记录下,通过int函数转换的过程. 操作过程: 1.将字符串转换为整型的10 >>> ...

  7. python分数约分_分数如何在python中可以直接声明吗?

    我们知道如果小数点后面的字数过长,我们会进行保留小数点后位数的操作.但是这样会在精准度上有所差别,当然我们也可以通过分数也避免小数点保留所带来的不精准性.不过分数在python中还不能直接使用的,需要 ...

  8. python中round函数的精度保留方法---四舍六入五成双

    当我们利用python进行数据计算时,通常会对浮点数保留相应的位数,这时候就会用到round函数,相信各位朋友在进行使用时会遇到各种问题,关于round函数保留精度.保留方法的问题,本文会进行详细的解 ...

  9. 小数乘分数怎么算过程_小数乘以分数公开课教学设计

    如何让学生在现实情景中体会和理解数学理念,丰富练习形式,加强计算与实际的应用联系,培养学生应用数学的意识和能力呢,以下是小编整理的<小数乘以分数公开课教学设计>,供您阅读,参考.希望对您有 ...

最新文章

  1. 小脚本,统计一个目录下满足特定条件文件的代码行数
  2. 素数与量子物理的结合能带来解决黎曼猜想的新可能吗?
  3. 心累了,就笑一笑,学会爱自己
  4. 谁说子网掩码的1必须连续?关于像255.255.0.255这样的非连续子网掩码
  5. 以下用于数据存储领域的python第三方库是-Python3爬虫学习之MySQL数据库存储爬取的信息详解...
  6. XML数据的分页显示
  7. javascript dom节点x
  8. 烦人的Facebook分享授权
  9. 对于redis底层框架的理解(一)
  10. leetcode1020. 飞地的数量(dfs)
  11. STM32那点事(5)_ADC(下)
  12. android 布局完成,Android自定义View设定到FrameLayout布局中实现多组件显示的方法 分享...
  13. 【PAT甲】1007 Maximum Subsequence Sum (25分),求最大字段和及区间
  14. Metasploit应用举例
  15. ESP8285 sdkconfig
  16. 无法打开计算机的组策略,本地组策略编辑器打不开?Win7本地组策略编辑器无法打开的解决方法...
  17. melp算法matlab,svpwm过调制算法研究与实现 [MELP声码器的算法研究及实现]
  18. 求职技巧:网投简历如何才能做到最抢眼
  19. 如何使用决策树判断要不要去相亲?
  20. F5 LTM1600 HA

热门文章

  1. 国产品牌EMMC(32G-64G)商规级
  2. 公平锁和非公平锁的详解
  3. iqoo8如何添加桌面原子组件
  4. 注释ASPX文件内容
  5. python监听文件更改记录_python 监控文件修改
  6. 第一部分:JAVA语言语法
  7. 球员“颠卫生纸”背后的秘密
  8. 图片文字识别软件哪个好用
  9. 【BZOJ】1617: [Usaco2008 Mar]River Crossing渡河问题(dp)
  10. 2021 自编译最新稳定版 128M WNDR4300V1 Openwrt Lean固件