1. 程式人生 > >Python:分數序列求和

Python:分數序列求和

#!/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