不少朋友經過自學來學習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