不少朋友经过自学来学习python,只是一味的看视频,历来不知道本身动手练习一下,实践是检验本身学没学会的惟一真理,今天小猿圈加加针对自学的朋友出一道经典的练习题,检验一下学习的程度,面试的小伙伴也能够看看哦,可能在面试的过程当中也会遇到,那下面我们一块儿来看依稀吧。python
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。面试
程序分析:请抓住分子与分母的变化规律。app
#!/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 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解决此问题,你们看到这道题一开始什么想法呢,千万不要一开始就看答案,按照这个思路走,必定要有本身的想法,而后卡在哪一步,能够看看答案的思路,这样有利于你的进步,喜欢的能够搜索小猿圈,作一下其余的练习题,但愿你们能够练习多一点,真正掌握!!!code