用python将假分数转换为带分数

2023-12-15

我需要使用 python 将假分数转换为带分数,甚至将浮点数转换为带分数。我的代码如下:

from fractions import Fraction
numerator = int(input("Enter numerator ") )
denominator = int(input("Enter denominator ") )
num = numerator / denominator
num = Fraction(num) 
print(num)

如果输入是 5 和 4,则输出是“5/4”而不是混合数。


您可以使用除法和模运算符来打印:

整数部分是numerator // denominator.

真分数余数的分子是numerator % denominator.

当然,分母不会改变。

>>> num = 5
>>> den = 4
>>> print(' %d %d/%d' % (num // den, num % den, den))
 1 1/4

浮点数有点困难,因为你必须计算出分母,而分母通常不会很精确。有两种基本方法(以及一些更高级的变体)可以做到这一点。您可以循环到最大分母并选择误差最小的分母,也可以选择最大可接受误差并循环,直到找到一个能提供低于该分母的结果的分母。执行后者的示例代码如下:

def approximate_frac(src, epsilon):
    d = 0.0
    while 1:
        d += 1.0
        n = int(src * d)
        info = [(abs(n / d - src), n) for n in (n, n+1)]
        info.sort()
        err, n = info[0]
        if err < epsilon:
            return n, int(d)

print(approximate_frac(1.0/3.0, 0.001))
print(approximate_frac(2.0/17.0, 0.001))

这导致:

(1, 3)
(2, 17)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用python将假分数转换为带分数 的相关文章

  • 为什么Python有最大递归深度?

    Python有最大递归深度 但没有最大迭代深度 为什么递归受到限制 把递归当成迭代来对待 而不限制递归调用的次数不是更自然吗 我只想说这个问题的根源来自于尝试实现流 参见这个问题 https stackoverflow com questi
  • 美丽的汤从谷歌搜索中提取href

    谷歌搜索给出了以下 HTML 的第一个结果 h3 class r a href https rads stackoverflow com amzn click com 0470284889 class l vst em Quantitati
  • 将 matplotlib png 转换为 base64 以在 html 模板中查看

    背景 你好 我正在尝试制作一个简单的网络应用程序 按照教程计算阻尼振动方程 并将结果的 png 返回到 html 页面 然后将其转换为 Base64 字符串 Problem 该应用程序运行正常 只是在计算结果时返回损坏的图像图标 可能是因为
  • 使用字母而不是数字进行顺序计数[重复]

    这个问题在这里已经有答案了 我需要一种方法 将字符串 递增 到 z 然后将 aa 递增到 az 然后将 ba 递增到 bz 依此类推 就像 Excel 工作表中的列一样 我将向该方法提供前一个字符串 它应该增加到下一个字母 PSEUDO C
  • 可移植的非关系数据库

    我想尝试 尝试非关系数据库 最好的解决方案是 便携式 这意味着它不需要安装 理想情况下 只需将目录复制粘贴到某个地方即可使其工作 我不介意第一次使用时是否需要编辑一些配置文件或运行配置工具 可从 python 访问 适用于 Windows
  • Pyinstaller --onefile 警告文件已存在但不应存在

    跑步时Pyinstaller onefile 并开始得到结果 exe 会出现多个弹出窗口 并显示以下警告 WARNING file already exists but should not C Users myuser AppData L
  • 属性错误:类型对象“图像”没有属性“打开”

    Exception in Tkinter callback Traceback most recent call last File C Python34 lib tkinter init py line 1482 in call retu
  • 向 Python 2.6 添加 SSL 支持

    我尝试使用sslPython 2 6 中的模块 但我被告知它不可用 安装OpenSSL后 我重新编译2 6 但问题仍然存在 有什么建议么 您安装了 OpenSSL 开发库吗 我必须安装openssl devel例如 在 CentOS 上 在
  • 如何使用 python 操作系统更改驱动器?

    我正在尝试更改当前目录C to Y 我试过 import os os chdir Y 但我不断收到错误消息 提示无法找到驱动器 本质上我正在寻找相当于 cd d cmd 中的命令 你确定吗Y 确实是有效的驱动器号吗 Try os chdir
  • 使用python中的mysql连接器正确从mysql数据库获取blob

    当执行以下代码时 import mysql connector connection mysql connector connect connection params here cursor connection cursor curso
  • Python 垃圾收集有时在 Jupyter Notebook 中不起作用

    我的一些 Jupyter 笔记本经常出现 RAM 不足的情况 而且我似乎无法释放不再需要的内存 这是一个例子 import gc thing Thing result thing do something thing None gc col
  • 在Python中计算结构体的CRC

    我有以下结构 来自 C 中的 NRPE 守护程序代码 typedef struct packet struct int16 t packet version int16 t packet type uint32 t crc32 value
  • 使用 Flask-SQLAlchemy 进行多对多多数据库连接

    我正在尝试使这个多对多联接与 Flask SQLAlchemy 和两个 MySQL 数据库一起工作 并且它非常接近 只是它为联接表使用了错误的数据库 这是基础知识 我有main db and vendor db 表格设置为main db u
  • 网页抓取 - 如何识别网页上的主要内容

    给定一个新闻文章网页 来自任何主要新闻来源 例如时报或彭博社 我想识别该页面上的主要文章内容 并丢弃其他杂项元素 例如广告 菜单 侧边栏 用户评论 在大多数主要新闻网站上都可以使用的通用方法是什么 有哪些好的数据挖掘工具或库 最好是基于Py
  • 从 csv 中读取 pandas 数据帧,以非固定标头开始

    我有许多数据文件是由我的实验室中使用的一些相当黑客的脚本生成的 该脚本非常有趣 因为它在标头之前附加的行数因文件而异 尽管它们具有相同的格式并具有相同的标头 我正在编写一个批处理来将所有这些文件处理为数据帧 如果我不知道位置 如何让 pan
  • 从 C 线程调用 Python 代码

    我对从 C 或 C 线程调用 Python 代码时如何确保线程安全感到非常困惑 The Python 文档 http docs python org c api init html non python created threads似乎是
  • django 组合对两个不同基本模型的查询

    我有两个不同的查询集 我想将两个查询集合并 q1 tbl nt 123 objects values list id value geometry filter restriction height exclude condition id
  • Jinja2中获取请求参数

    如何检索请求参数a在 Jinja2 模板中 http foo bar a 1 我这个答案有点晚了 但其他解决方案并没有真正考虑到您对 Flask 的使用 事实上 您将 Flask 与 Jinja2 一起使用 这使得您的情况与其他框架有点不同
  • 如何让你的精灵在pygame中跳跃

    目前我已经制作了一个平台游戏 可以左右移动我的角色 他从地上开始 关于如何让他跳的任何想法 因为我不明白 目前 如果我按住向上键 我的玩家精灵将连续向上移动 或者如果我按下它 我的玩家精灵将向上移动并保持向上 我想找个办法远离他 让我重新跌
  • Selenium Python 使用代理运行浏览器[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个非常简单的脚本 该脚本从 txt 文件获取代理 不需要身份验证 并用它打开浏览器 然后沿着代理列表循环此操作一定次数 我确实知道如何打开 txt 文件并使用它 我的主要问题是让代理正常工作 我见

随机推荐

  • 无法在谷歌地图中保存多边形

    我有一个谷歌地图多边形对象 var poly new google maps Polygon paths new google maps LatLng 25 774252 80 190262 new google maps LatLng 1
  • ASP.NET 用户控件:无法使用 Eval("...") 初始化用户控件属性

    我设计了一个用户控件 它包含一个公共属性 CurrentValue 当我尝试使用 Eval 表达式初始化属性时 会分配一个空值 在下面的代码中 标签赋值 OK RatingNull 用户控件赋值为 null
  • 我可以更改 WinRT 中主磁贴的背景颜色吗?

    是否可以更改 WinRT 应用程序主图块的背景颜色 我想根据应用程序状态更改它 我使用此代码来更改图块的文本 XmlDocument contentSmall TileUpdateManager GetTemplateContent Til
  • eloquent javascript 关联表 解释

    我正在迈出编程的第一步 但我被雄辩的这个问题所困扰 特别是灰鼠问题 事情是这样的 function hasEvent event entry return entry events indexOf event 1 function tabl
  • 有什么方法可以使用 CoffeeScript 不返回某些内容吗?

    看起来 CoffeeScript 会自动返回范围中的最后一项 我可以避免这个功能吗 您必须显式返回任何内容 或者在函数底部留下一个计算结果为未定义的表达式 fun gt doSomething return Or fun gt doSome
  • Excel VBA运行时错误1004;我在代码中没有选择

    我正在尝试将一些输入复制到模型中 并将答案复制回第一张表 下面是代码 data sheet 是具有许多输入的表 Final Model 给出输出 非常简单 我正在尝试从中复制数据 将 data sheet 更改为 最终模型 然后将答案复制回
  • 节点中无浏览器 jquery 不断出现错误

    我正在尝试运行节点脚本和 html 页面 但我不断收到错误 我试图运行的脚本是 node script js page html script js 文件具有以下内容 var argv require optimist argv requi
  • 根据匹配的键:值对组合字典列表中的字典

    我想在具有匹配键 值对的字典列表中组合 合并多个字典 但是 我不希望这些对中的 值 本身成为每个新形成的字典中的列表 每个字典都有相同的一组键 但除了我想要组合的键 值对之外 大多数键 值对都是唯一的 我知道我可以根据匹配键组合字典 如下例
  • MS Access 多语言仅支持表单

    有没有办法将另一种语言应用于 Access 表单 我在创建表单时遇到问题 因为数据库值以英语存储 我必须从同一个表以不同语言生成两个相同的表单 一切都很顺利 直到我到达 性别 这样的查找字段 我的表可选值为 男性 和 女性 适用于英语形式
  • 移动设备上的 Google Analytics 垃圾邮件 - 应用程序未发布

    多个 Google Analytics 帐户似乎爆发了垃圾邮件 许多发布的事件类似于以下事件 事件类别 要使用此功能 请访问 EVENT TRACKING COM 现在对于网络 我可以添加一个过滤器来按主机名进行阻止 不完美 但可行 但移动
  • 将 pandas 系列从字符串转换为唯一的 int id [重复]

    这个问题在这里已经有答案了 我有一个系列中的分类变量 我想为每个唯一值分配整数 id 并使用 id 创建一个新系列 从而有效地将字符串变量转换为整数变量 最紧凑 最有效的方法是什么 你可以使用pandas factorize In 32 s
  • 打印堆栈跟踪

    我有一个非常短的测试文件 let print backtrace try raise Not found with Not found gt Printexc print backtrace stdout let f print backt
  • Solrj 查询 - 首先获取最相关的记录

    我有一些文件Solr 4 0 我希望首先显示最相关的记录 然后显示不太相关的记录 例如 我有 3 个文档 标题如下 收入分配政策 收入分配和经济政策 发展中国家的收入分配政策 现在当我查询类似的东西时q title Income Distr
  • 我可以在这个复杂的不规则形状链接上使用CSS悬停吗

    我已经研究了很多可能的解决方案 但仍然没有找到有效的解决方案 我正在尝试使用 CSS 让我的链接在悬停时发光 我尝试使用矩形的每个版本来包围我的图像以链接它们 但有些非常小并且会重叠 有没有办法将多坐标合并到 CSS 中 我认为我的主要问题
  • 将 Web 应用程序发布到 Azure 网站暂存部署槽因 webjob 失败

    我刚刚为我的应用程序创建了一个新的部署槽 将发布配置文件导入到 Visual Studio 但部署后我收到此错误消息 错误 8 创建 WebJob 计划时发生错误 找不到与 WebSiteName myapp staging 和 WebSi
  • 在 Git 中查找更改最多的文件

    如何显示 Git 中最常更改的文件 您可以执行以下操作 git log pretty format name only sort uniq c sort rg head 10 日志仅输出每次提交中已更改的文件的名称 而其余部分仅排序并输出前
  • AbstractTableModel getValueAt 性能

    我是新手JTable 也许我不明白什么 假设我有ArrayList共 1000 个Students id name surname age 我想向所有学生展示JTable 据我所知 我必须创造StudentTableModel that e
  • “类型*名称”和类型*名称”有什么区别?[重复]

    这个问题在这里已经有答案了 我是 C 新手 我找不到任何地方将 放在类型后面或名称前面有什么区别 例如 两者之间的区别是什么 int p int p C 编译器忽略空格 字符常量和字符串文字内的空格除外 代表着 int p int p in
  • Excel VBA 更新:查找数据、循环多个工作表、复制范围

    昨天更新此线程 Excel VBA 查找数据 循环多个工作表 复制特定单元格范围 特别感谢 findwindow 让我走到这一步 我在某个部分不断收到运行时 91 错误 并最终放入 If Then 语句以跳到下一张表 但现在我在其正下方的行
  • 用python将假分数转换为带分数

    我需要使用 python 将假分数转换为带分数 甚至将浮点数转换为带分数 我的代码如下 from fractions import Fraction numerator int input Enter numerator denominat