《新教科版-高一信息技術---23周而復始的循環(huán)(二課時)課件》由會員分享,可在線閱讀,更多相關《新教科版-高一信息技術---23周而復始的循環(huán)(二課時)課件(47頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、2.3 2.3 周而復始的循環(huán)周而復始的循環(huán)(一)(一)第一課時2.3周而復始的循環(huán)(一)第一課時新教科版-高一信息技術-2活動1 計算利率不變情況下的到期存款總額如果將5萬元存入銀行,選擇“1年定期、自動轉存”的存款方式,假設5年內存款利率沒有發(fā)生變化,均為3.25%,5年后到期存款總額是多少?在程序中,暫不考慮存款分位以下的四舍五入。第1年 50000*(1+0.0325)=51625第2年 51625*(1+0.0325)=50000*(1+0.0325)*(1+0.0325)=50000*(1+0.0325)2第3年 50000*(1+0.0325)3第4年 50000*(1+0.03
2、25)4第5年 50000*(1+0.0325)5活動1計算利率不變情況下的到期存款總額第1年50000程序代碼:p=50000#本金50000元rate=0.0325#1年定期利率3.25%year=5#存款期限money=p*(1+rate)*year#計算存款總額print(5年以后存款總額:,money,元)#輸出結果input(運行完畢,請按回車鍵退出.)程序代碼:活動2 計算利率變動情況下的到期存款總額如果首次存款時的利率是3.25%,自動轉存時利率分別是3%、3%、2%、1.75%,那么5年后到期存款總額是多少?由于每年的利率不同,如果都存儲在變量中,那么需要5個變量,這時可以借
3、助列表來實現(xiàn)?;顒?計算利率變動情況下的到期存款總額整整 數(shù)數(shù) int浮點數(shù)浮點數(shù) float字符串字符串 str列列 表表 list列表可以包含多個數(shù)據(jù)元素,它是一個有序的集合。列表可以包含多個數(shù)據(jù)元素,它是一個有序的集合。創(chuàng)建列表,創(chuàng)建列表,放在方括號內,各元素用逗號隔開。各元素用逗號隔開。a=“石榴石榴”,1,”香蕉香蕉”,”橙子橙子”,”梨子梨子”列表可以存儲列表可以存儲混合類型混合類型的數(shù)據(jù)的數(shù)據(jù)列表索引號列表索引號從從0 0開始開始a0a1 a2a3a4整數(shù)int浮點數(shù)float字符串str列表a=“石榴石榴”,1,”香蕉香蕉”,”橙子橙子”,”梨子梨子”a0=”蘋果蘋果”a=“蘋
4、果蘋果”,1,”香蕉香蕉”,”橙子橙子”,”梨子梨子”del a1a=“蘋果蘋果”,”香蕉香蕉”,”橙子橙子”,”梨子梨子”#修改列表第修改列表第1個元素個元素#刪除刪除列表第列表第2個元素個元素a.append(“獼猴桃獼猴桃”)#在列表尾部添加一個數(shù)據(jù)元素在列表尾部添加一個數(shù)據(jù)元素“獼猴桃獼猴桃”a=“蘋果蘋果”,”香蕉香蕉”,”橙子橙子”,”梨子梨子”,”獼猴桃獼猴桃”print(a)#輸出列表輸出列表a=“石榴”,1,”香蕉”,”橙子”,”梨已知列表已知列表x=1,2,3,4x=1,2,3,4,那么執(zhí)行語句,那么執(zhí)行語句del x1del x1之后之后x x的值為(的值為()A.2,3
5、,4A.2,3,4B.1,2,3,4B.1,2,3,4C C.1,3,4.1,3,4D.2,3,4D.2,3,4已知列表x=1,2,3,4,那么執(zhí)行語句delx1找規(guī)律用列表表示各年的利率,即rate=0.0325,0.03,0.03,0.02,0.0175。那么存款總額的計算公式是:本金*(1+rate 0)*(1+rate 1)*.*(1+rate4)。存款期限越長,公式就越復雜。有沒有其他解決方法呢?請分析每年的存款變化,從中尋找規(guī)律。第1年 存款總額=本金*(1+第1年利率)第2年 存款總額=上一年存款總額*(1+第2年利率)第3年 存款總額=上一年存款總額*(1+第3年利率)第n年
6、存款總額=上一年存款總額*(1+第n年利率)找規(guī)律用列表表示各年的利率,即rate=0.0325,0.循環(huán)結構循環(huán)就是重復地執(zhí)行某些語句。程序中的循環(huán)次數(shù)是有限的,由循環(huán)條件決定可以確定循環(huán)次數(shù)。python提供了2種循環(huán)結構語句:for語句 while語句循環(huán)結構循環(huán)就是重復地執(zhí)行某些語句。計數(shù)循環(huán)(for循環(huán))循環(huán)重復次數(shù)一定時我們通常稱為計數(shù)循環(huán)在python中,使用for語句來創(chuàng)建這類循環(huán)。格式:舉個例子:for i in hello,world:print(i)#循環(huán)體input(運行完畢,請按回車鍵退出.)在本例中,循環(huán)體只有一條語句,即print(i)。循環(huán)執(zhí)行時,依次將列表中的
7、元素賦給i,并且執(zhí)行循環(huán)體(輸出i的值),直到整個列表的元素被取完,循環(huán)結束循環(huán)體:重復執(zhí)行的語句。循環(huán)體必須相對關鍵字 for有縮進。(4個空格或一個Tab鍵for 循環(huán)變量循環(huán)變量 in 列表列表語句或語句組語句或語句組循環(huán)次數(shù)計數(shù)循環(huán)(for循環(huán))循環(huán)重復次數(shù)一定時我們通常稱為計數(shù)循根據(jù)前面分析得出的規(guī)律,可以使用計數(shù)循環(huán)來實現(xiàn)每年存款總額的重復計算。循環(huán)的次數(shù)即為存款的年限。遵循for語句的格式,完善下列程序代碼。money=50000#本金50000元rate=0.0325,0.03,0.03,0.02,0.0175#利率列表for i in rate:money=round(mon
8、ey*(1+i),2)#計算每年存款額print(5年以后存款總額:,money,元)#輸出結果input(運行完畢,請按回車鍵退出.)因為銀行支付利息計至分位,分位以下四含五入,所以可以調用round()函教實現(xiàn)保留兩位小數(shù)。例如,round(1.428,2)的運 算結果為1.43。很多銀行人民幣理財產品的收益高于同期定期存款,但是高收益往往伴隨高風險,因此很多普通投資者會選擇收益相對穩(wěn)定、風險較低的保證收益型理財產品。根據(jù)前面分析得出的規(guī)律,可以使用計數(shù)循環(huán)來實現(xiàn)每年存款總額的0,1,2,3,4,5數(shù)字數(shù)字05列表列表數(shù)字數(shù)字0100列表列表?range()在for語句中,in后也可以是r
9、ange()函數(shù),它可以生成某個范圍內的數(shù)字列表。0,1,2,3,4,5數(shù)字05列表數(shù)字0100列表?range()函數(shù)可以創(chuàng)建一個整數(shù)列表函數(shù)可以創(chuàng)建一個整數(shù)列表range()函數(shù)語法:函數(shù)語法:range(start,stop,step)計數(shù)從計數(shù)從start開始開始(默認是默認是0),到到stop結束,但不包括結束,但不包括stop,step步長默認為步長默認為1。range(5)range(0,5,1)0,1,2,3,4#從從0開始到開始到5,步長為,步長為1range(1,4)1,2,3range(0,20,5)0,5,10,15range(10,0,-2)10,8,6,4,2ran
10、ge()函數(shù)可以創(chuàng)建一個整數(shù)列表range()函數(shù)語法列表列表range(7,10)range(7,10)中元素的個數(shù)是(中元素的個數(shù)是()A.7A.7B.B.3 3C C.4.4D.10D.10B B列表range(7,10)中元素的個數(shù)是()A.7B.3下列代碼中循環(huán)體執(zhí)行的次數(shù)是(下列代碼中循環(huán)體執(zhí)行的次數(shù)是()for i in range(1,5):for i in range(1,5):print(i)print(i)A.1A.1B.2B.2C C.4.4D.5D.5C C下列代碼中循環(huán)體執(zhí)行的次數(shù)是()A.1B.2C.4D.5C下面程序段運行后顯示的結果是(下面程序段運行后顯示的結
11、果是()s=0for i in range(6):s=s+iprint(s)A.10B.15C.20D.25Bs=0i=0s=0i=1s=1i=2s=3i=3s=6i=4s=10i=5s=15下面程序段運行后顯示的結果是()A.10B.15C.2以下是s=1+2+3+100的程序代碼,請補全程序。_for i in _ _print(s)s=0range(1,101):s=s+i以下是s=1+2+3+100 的程序代碼,請補全程序。_以下是s=1*2*3*100的程序代碼,請補全程序。_for i in _ _print(s)s=1range(1,101):s=s*i以下是s=1*2*3*10
12、0的程序代碼,請補全程序。_執(zhí)行下列程序后的結果是()s=0for i in range(1,5):i=i+2s=s+iprint(s)A.15B.10C.18D.8s=0i=1i=3s=3i=2i=4s=7i=3i=5s=12i=4i=6s=18C C 執(zhí)行下列程序后的結果是()A.15B.10C.18D.2.3 2.3 周而復始的循環(huán)周而復始的循環(huán)第二課時While循環(huán)2.3周而復始的循環(huán)第二課時While循環(huán)回顧舊知,并運用例一:例一:s=0for i in range(101):s=s+iprint(s)例二:例二:m=1for i in range(1,11):m=m*2*iprin
13、t(m)思考:思考:(1)m、s的初值為什么分別設為的初值為什么分別設為1和和0?(2)range在程序中起了什么作用?在程序中起了什么作用?回顧舊知,并運用例一:例二:思考:循環(huán)1.概念:計算機程序中某些代碼的反復執(zhí)行2.分類:計數(shù)循環(huán):重復一定次數(shù)(for)條件循環(huán):重復到某種情況結束 (while)循環(huán)1.概念:計算機程序中某些代碼的反復執(zhí)行條件循環(huán) 只有當循環(huán)條件成立時,才執(zhí)行循環(huán)體。在Python中,使用while while 語句語句來創(chuàng)建這類循環(huán)。while語句的基本格式如下。while while 關系表達式關系表達式 :語句或語句組語句或語句組一組重復執(zhí)行的語句稱為一組重復執(zhí)
14、行的語句稱為循環(huán)體循環(huán)體。循環(huán)體循環(huán)體必須相對關鍵詞必須相對關鍵詞while有有縮進縮進。例:下面這個循環(huán)輸出例:下面這個循環(huán)輸出0 0到到100100的自然數(shù)。的自然數(shù)。for ifor i in range(0,101):in range(0,101):print(i)print(i)思考:怎么用while循壞替代?條件循環(huán)只有當循環(huán)條件成立時,才執(zhí)行循環(huán)體。whil一、一、while語句格式及功能語句格式及功能while 語句格式語句格式while 關系表達式關系表達式:語句或語句組語句或語句組例例3:s=0while s=30:s=s+10#循環(huán)體循環(huán)體print(s)#循環(huán)體循環(huán)體累
15、加器累加器一、while語句格式及功能while語句格式例3:累加器例:下面這個循環(huán)輸出例:下面這個循環(huán)輸出0 0到到100100的自然數(shù)。的自然數(shù)。for ifor i in range(0,101):in range(0,101):print(i)print(i)由于while循環(huán)不記錄循環(huán)的次數(shù),如果需要借用循環(huán)次數(shù)信息,必須在代碼中增加計數(shù)器,并通過語句修改計數(shù)器的值,這也是while循環(huán)的難點。例:下面這個循環(huán)輸出0到100的自然數(shù)。i=0練習時刻求1+2+3+100:s=0i=1whilei=100:s=s+ii=i+1#print(s)print(s)for循環(huán)while循環(huán)腦子
16、里是不是其實已經(jīng)下意識地算出循環(huán)的次數(shù)為100那如果我們算不出循環(huán)的次數(shù)呢?練習時刻求1+2+3+100:s=0for循環(huán)whi舉例問:s=1+3+5+累加到幾的和剛好大于30?條件循環(huán)條件循環(huán)一般用于 循環(huán)次數(shù)未知的情況。_while _:_ _print(i)s=0i=0s23.9輸出“XX一點也不胖”YNNn=0Yn=n+1n100開始結束輸入身高、體重計算BMI=體重/身高2輸出“XX有點答案代碼答案代碼計數(shù)循環(huán)條件循環(huán)答案代碼計數(shù)循環(huán)條件循環(huán)課堂小結 列表列表及相關常見的內置函數(shù)內置函數(shù) 計數(shù)循環(huán)計數(shù)循環(huán):重復一定次數(shù)for(循環(huán)次數(shù)確定)range()range()條件循環(huán)條件循環(huán)
17、:重復到某種情況結束while(循環(huán)次數(shù)確定/不確定)課堂小結列表及相關常見的內置函數(shù)練習時刻1.下面程序段運行后顯示的結果為()i=1whilei8:i=i+2s=2*i+3print(s)A.17B.19C.21D.23i=1whilei8:s=2*i+3i=i+2print(s)CA練習時刻1.下面程序段運行后顯示的結果為()A.17B.1練習時刻2.下面Python程序段的運行結果是()i=0sum=0whilei=0:money=round(money*(1+0.037),2)-20000year=year+1練習時刻3.小明爸爸購買了10萬元一年期收益率3.7%的銀行練習時刻4.完
18、善程序,打印對聯(lián)。(對聯(lián).py)上聯(lián):“國泰民安”,下聯(lián):“萬象更新”,橫批:“歡度國慶”。參考答案:listup=國,泰,民,安listdown=萬,象,更,新listrow=歡度國慶print(,listrow)foriinrange(4):print(listupi,listdowni)提示:上聯(lián)、下聯(lián)用字符串存儲也可以。如:listup=國泰民安。練習時刻4.完善程序,打印對聯(lián)。(對聯(lián).py)參考答案:拓展練習拓展練習調試程序調試程序調試器調試器pdb 模塊模塊例如例如 importpdbpdb.set_trace()運行后運行后”p”命令查看變量命令查看變量運行后運行后”c”命令繼續(xù)
19、運行命令繼續(xù)運行運行后運行后”q”命令退出程序命令退出程序調試程序調試器pdb模塊某投資者購買了某投資者購買了10萬元一年期收益率萬元一年期收益率3.7%的的銀行保證收益型理財產品。每年理財贖回后,銀行保證收益型理財產品。每年理財贖回后,他會提取他會提取2萬元用作生活所需,余下資金仍購萬元用作生活所需,余下資金仍購買此種理財。在收益率不變的情況下,多少買此種理財。在收益率不變的情況下,多少年后本金被全部取出?年后本金被全部取出?計算收益思考:和上節(jié)課存錢例題比較,差異在哪里?思考:和上節(jié)課存錢例題比較,差異在哪里?某投資者購買了10萬元一年期收益率3.7%的銀行保證收益型理例如:求和1+2+3
20、+100=?for循環(huán)程序s=0foriinrange(101):s=s+iprint(s)while循環(huán)程序循環(huán)程序s=i=while i=0,本金可以用常數(shù)表示,也可以存入變量增加程,本金可以用常數(shù)表示,也可以存入變量增加程序的通用性。序的通用性。由于需要知道年數(shù),因此必須增加計數(shù)器。由于需要知道年數(shù),因此必須增加計數(shù)器。解決實際問題某投資者購買了10萬元一年期收益率3.7%的銀實踐:嘗試補充代碼P38money=#本金本金100000year=#理財年數(shù)賦初值為理財年數(shù)賦初值為0while#計算新的理財金額計算新的理財金額#理財年數(shù)加理財年數(shù)加1print(year,年后資金被全部取出年后資金被全部取出)#輸出結果輸出結果input(運行完畢,請按回車鍵退出運行完畢,請按回車鍵退出.)實踐:嘗試補充代碼P38money=for循環(huán)嵌套:嘗試打印出九九乘法表for循環(huán)嵌套:嘗試打印出九九乘法表