python - 将浮点数转换为分数
问题描述
我正在用 Python3 编写。我在我的代码中创建了两个列表,我想在循环中将它们“连接”为分数。除了使用 Fractions 库之外,还有其他方法吗?不幸的是,我不能使用它,因为这是任务要求。当分数是浮点数(例如 1/3)时会出现问题。我怎么解决这个问题?
这是一个例子:
p = [1,2,3]
q = [3,5,9]
frac = []
for i in p:
for j in q:
f = i/j
if f not in frac:
frac.append(f)
解决方案
您可以使用 fractions.Fraction 类型。
- 使用以下方法导入: from fractions import Fraction
- 用分数转换你的 f 方程 f = p/q;f = 分数(p/q)
然后也使用字符串转换;f = str(分数(p/q))
from fractions import Fraction f = str(Fraction(p/q))
推荐阅读
- xslt-1.0 - 多个实体处每个循环的 jdeveloper XSLT 中断
- laravel - 使用 Laravel Cashier 的 3D Secure on Stripe 价格不正确
- pandas - 使用 pandas 数据帧的多处理挂起在 queue.get() 和 pool.map()
- paypal - PayPal IPN 有时不更新数据库
- apache-spark - 按 desc 排序数据框列导致分析异常 [Pyspark]
- python - 使用 Keras 微调通用句子编码器
- python - 如果单词的节点没有被 Trie 结构中的另一个单词使用,则删除它们
- javascript - 当我将它传递给功能组件时,为什么我的道具在最初存在后不再存在?
- c++ - gotoxy 在 C++ 中打印错误
- flutter - MaxHeight 导致小部件展开