私はナンセンスな話をやめます、ただコードに行ってください!
#! /usr/bin/env python
# coding:UTF-8"""
@ version: python3.x
@ author:Cao Xinjian
@ contact:[email protected]
@ software: PyCharm
@ file:1223.py
@ time:2018/12/2320:56"""
'''
スコアのシーケンスがあります:2/1,3/2,5/3,8/5,13/8,21/13...このシーケンスの最初の20項の合計を見つけます。
'''
"""
# 方法1
def g(n):if n <=2:return n
else:returng(n-1)+g(n-2)
sum =0for i inrange(1,21):
sum +=g(i+1)/g(i)print(sum)"""
# 方法2
numerator =2
denominator =1
sum =0while True:try:
n =int(input("整数を入力してください:"))
except ValueError:print("入力エラー、整数を入力してください")else:for i inrange(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 =1while 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))
実際、フラクションモジュールは問題を即座に解決できます
from fractions import Fraction
a,b =(input().split(','))
sum=Fraction(a)+Fraction(b)print(sum)
スコアシーケンスの合計の上記のPython実装は、エディターによって共有されるすべてのコンテンツです。参照を提供したいと思います。
Recommended Posts