Python实例 61,62
生活随笔
收集整理的這篇文章主要介紹了
Python实例 61,62
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
61.題目:打印出楊輝三角形
程序設計:
第一步:先找規律,抽象化問題:
首先我們觀察到,第一行為[1],我們直接賦給一個變量:初始化數列 p = [1]
其次我們觀察到,下面的每一行的開頭結尾都是[1],那么我們可以推導出每一行的規律為:[1]+.........+[1]
那么我們發現,從第三行開始中間的 [2],第四行中間的 [3,3],第五行中間的 [4,6,4] 等等以此類推才是我們需要推導的部分
第一行:[1]?設 p = [1]
第二行:[1]+[1]?設 p = [1,1]
第三行:[1]+[2]+[1]?設 p = [1,2,1]
第四行:[1]+[3]+[3]+[1]設 p = [1,3,3,1]
....
經過找規律,我們發現,每一個新的list中間的部分,都等于上一行list的:第0個元素+第1個元素,第1個元素+第2個元素,第2個元素+第3個元素,.......
加上頭尾也就是[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]
后面以此類推
既然核心點是這個除去首位兩個 [1] 的中間部分:[p[0] + p[1]]+[p[1] + p[2]]+[p[2] + p[3]]........
我們很容易得到規律:[p[i] + p[i+1]]# for i? in range(x)
#61 def triangles():p = [1]while True:yield p#generator函數與普通函數的差別:在執行過程中,遇到yield就中斷,下次又繼續執行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))輸出:
總結
以上是生活随笔為你收集整理的Python实例 61,62的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 山东大学 2020级数据库系统 实验三
- 下一篇: java实现日期让随动变_java工具类