Python 分数

Python 分数模块使用户能够以有效的方式管理与分数相关的计算。该模块使我们能够从整数、浮点数、小数和字符串创建分数。

该分数模块支持有理数算术运算。


目录

分数模块的基础知识

1. 导入分数模块

 
from fractions import Fraction

2. 实例化分数类

有多种方法可以实例化分数类。以下是实例化分数类的一些方法:

  • 传递分子和分母
  • 用浮动实例化
  • 用十进制实例化
  • 用字符串实例化

示例:通过传递分子和分母来实例化

from fractions import Fraction
Fraction(1, 2)

示例:使用浮点数实例化

from fractions import Fraction
Fraction(2.5)

示例:用十进制小数实例化

from fractions import Fraction
from decimal import Decimal
Fraction(Decimal('1.1'))

示例:实例化字符串

from fractions import Fraction
Fraction('9/16')

创建分数

import fractions

for num, decimal in [(1, 2), (3, 6), (30, 7)]:
    result = fractions.Fraction(num, decimal)
    print('{}/{} = {}'.format(num, decimal, result))

输出:

1/2 = 1/2
3/6 = 1/2
30/7 = 30/7

对分数执行算术运算

下面的例子解释了分数的不同数学运算。

from fractions import Fraction 

print(Fraction(100, 10) + Fraction(25, 5)) 

print(Fraction(18, 5) / Fraction(18, 10)) 

print(Fraction(18, 15) * Fraction(16, 25)) 

print(Fraction(17, 25) * Fraction(15, 25)) 

print(Fraction(12, 5) ** Fraction(12, 11)) 

输出:

分数的输出算术运算

分数的输出算术运算


分数实例

Fraction 实例是由一对整数、有理数或字符串构成的分数。分数是可散列不可变的,因此它们的值一旦创建就无法更改。

class fractions.Fraction(numerator=0, denominator=1) :它要求分子和分母为数字。分数值 = (分子/分母) 作为输出返回,默认值为 0。如果分母 = 0,则会引发除零错误。

例子:

from fractions import Fraction 

print(Fraction(10, 35)) 
 
print(Fraction(10, 13)) 
 
print(Fraction()) # default value

输出:

2/7
10/13
0

将数学与分数相结合

数学模块的功能可以与分数表示混合使用。下面的例子描述了一种这样的表示。

import math
from fractions import Fraction
  
print("Square root: {}".format(math.sqrt(Fraction(21, 4))))
  
print("Floored to: {}".format(math.floor(Fraction(4100, 1100))))
  
print("Sined Fraction: {}".format(Fraction(math.sin(math.pi/2))))

输出:

Square root: 2.29128784747792
Floored to: 3
Sined Fraction: 1

四舍五入分数

可以根据用户在分母中想要的位数对分数进行四舍五入。

例子:

import fractions

result = fractions.Fraction('21/8')
print('Rounded without limit : {}'.format(round(result)))

print('Rounded to 2 digits : {}'.format(round(result, 2)))

输出:

Rounded without limit : 3
Rounded to 2 digits : 131/50

结论

我们已经理解并在 Python 中实现了分数模块的功能。


参考

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要计算Python分数序列的前n项之和,可以使用循环和变量来迭代计算每一项,并累加到总和中。参考代码如下: ```python n = int(input()) # 用户输入项数n a, b = 2, 1 # 初始化第一项为2/1 total_sum = a / b # 初始化总和为第一项 for i in range(1, n): # 循环计算每一项,并累加到总和中 a, b = a + b, a # 计算下一项的分子和分母 total_sum += a / b # 累加到总和中 print("{:.3f}".format(total_sum)) # 输出结果,保留三位小数 ``` 这段代码首先通过`input()`函数获取用户输入的项数n,然后使用变量`a`和`b`来记录分数序列的分子和分母。接下来,使用循环从第2项开始计算每一项,并将其累加到总和`total_sum`中。最后,使用字符串格式化方法`"{:.3f}".format()`将结果保留三位小数并输出。 参考资料: 引用 引用<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [问题 F: 分数序列求和](https://blog.csdn.net/weixin_61133168/article/details/124485013)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [PTA python分数序列前N项和](https://blog.csdn.net/m0_51393229/article/details/117251900)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值