python分数序列求和公式_Python实现分数序列求和

本文介绍了两种Python实现分数序列求和的方法,包括递归和循环,并提供了分数加法的实现,包括手动计算和使用fractions模块。通过示例代码详细解释了每个方法的逻辑。
摘要由CSDN通过智能技术生成

我就废话不多说了,直接上代码吧!

#!/usr/bin/env python

# coding:UTF-8

"""

@version: python3.x

@author:曹新健

@contact: [email protected]

@software: PyCharm

@file: 1223.py

@time: 2018/12/23 20:56

"""

'''

有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

'''

"""

#方法一

def g(n):

if n <= 2:

return n

else:

return g(n-1) + g(n-2)

sum = 0

for i in range(1,21):

sum += g(i+1)/g(i)

print(sum)

"""

#方法二

numerator = 2

denominator = 1

sum = 0

while True:

try:

n = int(input("请输入一个整数:"))

except ValueError:

print("输入错误,请输入整数")

else:

for i in range(n):

sum += numerator / denominator

numerator, denominator = numerator + denominator, numerator

print(sum)

break

补充拓展:Python分数加法的实现

或多或少大家都会觉得用电脑计算器不能显示分数很麻烦,所以用Python做一个分数加法是极好的

a = input()

b = a.split(',')

def eu(a,b):

if a < b:

a, b = b, a

r = 1

while r != 0:

r = a % b

a = b

b = r

return a

num1 = b[0].split('/')

num2 = b[1].split('/')

sum1 = int(num1[0])*int(num2[1]) + int(num2[0])*int(num1[1])

sum2 = int(num1[1])*int(num2[1])

GCD = eu(sum1,sum2)

c = int(sum1/GCD)

d = int(sum2/GCD)

if c%d == 0:

print(int(c/d))

else:

print(str(c)+ '/'+str(d))

实际上用fractions模块可以瞬间解决问题

from fractions import Fraction

a,b = (input().split(','))

sum=Fraction(a)+Fraction(b)

print(sum)

以上这篇Python实现分数序列求和就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值