很多朋友通过自学来学习python,只是一味的看视频,从来不知道自己动手练习一下,实践是检验自己学没学会的唯一真理,今天小猿圈加加针对自学的朋友出一道经典的练习题,检验一下学习的程度,面试的小伙伴也可以看看哦,可能在面试的过程中也会遇到,那下面咱们一起来看依稀吧。
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
程序分析:请抓住分子与分母的变化规律。
#!/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
#!/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
#!/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)
python3实现:
#!/usr/bin/python3
n=int(input("Enter a number:"))
a=2
b=1
list=[]
list1=[]
for i in range(1,n+1):
list.append(str(a)+'/'+str(b))
list1.append(a/b)
c=a
a=a+b
b=c
print(list)
print(sum(list1))
上述通过python2和python3解决此问题,大家看到这道题一开始什么想法呢,千万不要一开始就看答案,按照这个思路走,一定要有自己的想法,然后卡在哪一步,可以看看答案的思路,这样有利于你的进步,喜欢的可以搜索小猿圈,做一下其他的练习题,希望大家可以练习多一点,真正掌握!!!