Python實現(xiàn)分數(shù)序列求和
更新時間:2020年02月25日 14:17:01 作者:書院二層樓
今天小編就為大家分享一篇Python實現(xiàn)分數(shù)序列求和,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
我就廢話不多說了,直接上代碼吧!
#!/usr/bin/env python
# coding:UTF-8
"""
@version: python3.x
@author:曹新健
@contact: 617349013@qq.com
@software: PyCharm
@file: 1223.py
@time: 2018/12/23 20:56
"""
'''
有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數(shù)列的前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("請輸入一個整數(shù):"))
except ValueError:
print("輸入錯誤,請輸入整數(shù)")
else:
for i in range(n):
sum += numerator / denominator
numerator, denominator = numerator + denominator, numerator
print(sum)
break
補充拓展:Python分數(shù)加法的實現(xiàn)
或多或少大家都會覺得用電腦計算器不能顯示分數(shù)很麻煩,所以用Python做一個分數(shù)加法是極好的
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實現(xiàn)分數(shù)序列求和就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python入門:這篇文章帶你直接學(xué)會python
本教程并未涵蓋Python語言的全部內(nèi)容,只是一個入門的教程,Python有非常多的庫以及很多的功能特點需要學(xué)習(xí),小編只是拋磚引玉,希望大家可以從中受益2018-09-09
Python學(xué)習(xí)筆記嵌套循環(huán)詳解
這篇文章主要介紹了Python學(xué)習(xí)筆記嵌套循環(huán)詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-07-07
Django中使用Json返回數(shù)據(jù)的實現(xiàn)方法
這篇文章主要介紹了Django中使用Json返回數(shù)據(jù)的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
400多行Python代碼實現(xiàn)了一個FTP服務(wù)器
400多行Python代碼實現(xiàn)了一個FTP服務(wù)器,實現(xiàn)了比之前的xxftp更多更完善的功能2012-05-05

