python分数练习题

题目:定义一个数字n,n为偶数时,输出1/2+1/4+…+1/n,n为奇数时,输出1/1+1/3+…+1/n
题目分析
1、n为奇数、偶数分开计算(分支if-else)
2、输出分数累加求和(分数函数Fraction(1,2):用来表示二分之一,1/2)(如果不使用分数,可用1.0/2+1.0/4来表示最终结果,整数运算1/2,会向下取整,结果为0)

示例

from fractions import Fraction #导入分数函数

n=6 #定义n,
a=2 #定义a,偶数累加初始分母
b=1 #定义b,奇数累加初始分母
num=0 #定义num,累加结果
i=1 #定义i,控制累加次数

while i <= (n+1)/2:#分析题目,n=1时,结果是1/1,n=2,结果是1/2,n=3时,结果是1/1+1/3,n=4,结果是1/2+1/4。。。
                    #根据规律认为,没2个数为一组,计算一次,“/”为向下取整,所以先+1,再/2
    if n%2==0:#判断n是奇数还是偶数,做不同计算
        num=num+Fraction(1, a)#偶数累加,1/2+1/4+...+1/n
        a=a+2#控制分母变化
    else:
        num = num + Fraction(1, b)#n为奇数时,输出1/1+1/3+...+1/n
        b=b+2#控制分母变化
    i=i+1#控制累加次数
print(num)#11/12
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值