Практический пример Python 24
Задача:Имеется последовательность дробей: 2/1, 3/2, 5/3, 8/5, 13/8, 21/13... Найдите сумму первых 20 членов этой последовательности.
Анализ программы:Пожалуйста, разберитесь в закономерности изменения числителя и знаменателя.
Исходный код программы:
Способ 1:
Пример
#!/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)
Метод 2:
Пример
#!/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)
Метод 3:
Пример (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)
Пример (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))
Вывод приведенного выше примера:
32.6602607986Другие расширения
100 примеров на Python