题目:定义一个数字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