没有bug队——加贝——Python 练习实例 23,24
23.題目:打印菱形
程序分析:先把圖形分成兩部分來看待,前四行一個(gè)規(guī)律,后三行一個(gè)規(guī)律,利用雙重for循環(huán),第一層控制行,第二層控制列。
注:將這個(gè)圖形看成對(duì)稱的,前面和后面的編輯方式正好相反
代碼:
#23 from sys import stdout for i in range(4):for j in range(2 - i + 1):stdout.write(' ')for k in range(2 * i + 1):stdout.write('*')print('')for i in range(3):for j in range(i + 1):stdout.write(' ')for k in range(4 - 2 * i + 1):stdout.write('*')print('')輸出:
?24.題目:
有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個(gè)數(shù)列的前20項(xiàng)之和。
程序分析:請(qǐng)抓住分子與分母的變化規(guī)律。
注:后面一個(gè)數(shù)等于前面兩個(gè)數(shù)之和
知識(shí)點(diǎn):
1. reduce()?函數(shù)會(huì)對(duì)參數(shù)序列中元素進(jìn)行累積。
函數(shù)將一個(gè)數(shù)據(jù)集合(鏈表,元組等)中的所有數(shù)據(jù)進(jìn)行下列操作:用傳給 reduce 中的函數(shù) function(有兩個(gè)參數(shù))先對(duì)集合中的第 1、2 個(gè)元素進(jìn)行操作,得到的結(jié)果再與第三個(gè)數(shù)據(jù)用 function 函數(shù)運(yùn)算,最后得到一個(gè)結(jié)果。
2. lambda x,y: x + y? : 定義自變量x,因變量y的函數(shù),x = x+y ; y = x/y
#23 from functools import reducea = 2.0 b = 1.0 l = [] l.append(a / b) for n in range(1,20):b,a = a,a + bl.append(a / b) print (reduce(lambda x,y: x + y,l))輸出:
總結(jié)
以上是生活随笔為你收集整理的没有bug队——加贝——Python 练习实例 23,24的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java连接数据库所遇到的坑,连接数据库
- 下一篇: c 包含其他文件_C语言:全局变量在多个