很多朋友通过自学来学习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解决此问题,大家看到这道题一开始什么想法呢,千万不要一开始就看答案,按照这个思路走,一定要有自己的想法,然后卡在哪一步,可以看看答案的思路,这样有利于你的进步,喜欢的可以搜索小猿圈,做一下其他的练习题,希望大家可以练习多一点,真正掌握!!!