Python实例 61,62
61.題目:打印出楊輝三角形
程序設(shè)計(jì):
第一步:先找規(guī)律,抽象化問題:
首先我們觀察到,第一行為[1],我們直接賦給一個(gè)變量:初始化數(shù)列 p = [1]
其次我們觀察到,下面的每一行的開頭結(jié)尾都是[1],那么我們可以推導(dǎo)出每一行的規(guī)律為:[1]+.........+[1]
那么我們發(fā)現(xiàn),從第三行開始中間的 [2],第四行中間的 [3,3],第五行中間的 [4,6,4] 等等以此類推才是我們需要推導(dǎo)的部分
第一行:[1]?設(shè) p = [1]
第二行:[1]+[1]?設(shè) p = [1,1]
第三行:[1]+[2]+[1]?設(shè) p = [1,2,1]
第四行:[1]+[3]+[3]+[1]設(shè) p = [1,3,3,1]
....
經(jīng)過找規(guī)律,我們發(fā)現(xiàn),每一個(gè)新的list中間的部分,都等于上一行l(wèi)ist的:第0個(gè)元素+第1個(gè)元素,第1個(gè)元素+第2個(gè)元素,第2個(gè)元素+第3個(gè)元素,.......
加上頭尾也就是[1]?+[p[0]+p[1]]+[p[1]+p[2]].....+[1]
比如上面第三行:p[0] = 1, p[1] = 2, p[2] = [1]
那么第四行就是:[1] + [1+2] (# p[0]+p[1])+ [2+1](# p[1]+p[2])+ [1]
后面以此類推
既然核心點(diǎn)是這個(gè)除去首位兩個(gè) [1] 的中間部分:[p[0] + p[1]]+[p[1] + p[2]]+[p[2] + p[3]]........
我們很容易得到規(guī)律:[p[i] + p[i+1]]# for i? in range(x)
#61 def triangles():p = [1]while True:yield p#generator函數(shù)與普通函數(shù)的差別:在執(zhí)行過程中,遇到y(tǒng)ield就中斷,下次又繼續(xù)執(zhí)行p = [1] + [p[i] + p[i+1] for i in range(len(p)-1)] + [1] n = 0 for t in triangles():print(t)n = n + 1if n == 10:break輸出:
?62.題目:查找字符串
#62 sStr1 = 'abcdefg' sStr2 = 'cde' print (sStr1.find(sStr2))輸出:
總結(jié)
以上是生活随笔為你收集整理的Python实例 61,62的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 山东大学 2020级数据库系统 实验三
- 下一篇: websocket python爬虫_p