Python-Übungsbeispiel 24
Problem:Es gibt eine Bruchfolge: 2/1, 3/2, 5/3, 8/5, 13/8, 21/13... Finden Sie die Summe der ersten 20 Glieder dieser Folge.
Programmanalyse:Bitte erfassen Sie das Änderungsmuster von Zähler und Nenner.
Programmquellcode:
Methode 1:
Beispiel
#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = 2.0
b = 1.0
s = 0
for n in range(1,21):
s += a / b
t = a
a = a + b
b = t
print (s)
Methode 2:
Beispiel
#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = 2.0
b = 1.0
s = 0.0
for n in range(1,21):
s += a / b
b,a = a , a + b
print (s)
s = 0.0
for n in range(1,21):
s += a / b
b,a = a , a + b
print (s)
Methode 3:
Beispiel (Python 2.x)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = 2.0
b = 1.0
l = []
l.append(a / b)
for n in range(1,20):
b,a = a,a + b
l.append(a / b)
print reduce(lambda x,y: x + y,l)
Beispiel (Python 3.x)
#!/usr/bin/python
from functools import reduce
a = 2.0
b = 1.0
l = []
l.append(a / b)
for n in range(1,20):
b,a = a,a + b
l.append(a / b)
print (reduce(lambda x,y: x + y,l))
Die Ausgabe des obigen Beispiels ist:
32.6602607986Weitere Erweiterungen
Python 100 Beispiele