




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
流程控制-循環(huán)語句課前回顧if語句:對條件是否滿足進行判斷;條件語句結(jié)構(gòu):if、if-else、if-elif、if-elif-else、if嵌套;結(jié)構(gòu)控制:Python中用縮進的方式來設(shè)置代碼的層次結(jié)構(gòu)。循環(huán)語句循環(huán)語句:重復執(zhí)行一條或多條語句,Python的循環(huán)語句包括while循環(huán)和for循環(huán)。循環(huán)結(jié)構(gòu)邏輯:若符合條件,則反復執(zhí)行循環(huán)體中的語句,若不符合條件,則退出循環(huán)。在財務(wù)工作中,經(jīng)常會涉及到大量重復計算,如預算編制、費用分配等等,那么Python能否幫助我們減少這種重復工作呢?目錄01020304while
循環(huán)for
循環(huán)嵌套循環(huán)跳轉(zhuǎn)語句01while循環(huán)while循環(huán)while循環(huán):只要條件滿足就不斷循環(huán),條件不滿足時退出循環(huán)。注意變量i增加到5時,不再滿足while條件,退出循環(huán);缺少更新表達式或條件表達式永遠滿足(比如:while1=1)會引起死循環(huán)。while循環(huán)標準寫法(三個要件):i=0#初始化表達式:通過初始化表達式初始化一個變量whilei<5:#條件表達式:用來設(shè)置循環(huán)執(zhí)行的條件
print(i)
i+=1#更新表達式:修改初始化變量的值else在循環(huán)中的應(yīng)用else可以在while或for循環(huán)中運用,else與while或for搭配使用,表示當循環(huán)的條件不成立時,直接跳出循環(huán),執(zhí)行else下的代碼塊。代碼#創(chuàng)建初始表達式i=0#while循環(huán)whilei<5:print(i)
i+=1else:print('循環(huán)結(jié)束')輸出結(jié)果:01234循環(huán)結(jié)束while循環(huán)說明:甲公司采用雙倍余額遞減法對固定資產(chǎn)計提折舊,現(xiàn)有一固定資產(chǎn)原值為100000元,預計使用年限為10年,凈殘值率5%。要求:采用while循環(huán)計算該固定資產(chǎn)年折舊額。示例1代碼i=0#初始表達式年初固定資產(chǎn)凈值=100000#第一年年初固定資產(chǎn)凈值=固定資產(chǎn)原值result=[]#創(chuàng)建空列表存儲年折舊額whilei<8:#while循環(huán),最后兩年平均分攤,循環(huán)次數(shù)為8次年折舊額=round(年初固定資產(chǎn)凈值*(2/10),2)#年折舊率=2/10result.append(年折舊額)年初固定資產(chǎn)凈值-=年折舊額i+=1else:年折舊額=round((年初固定資產(chǎn)凈值-100000*0.05)/2,2)result.append(年折舊額)result.append(round(年初固定資產(chǎn)凈值-100000*0.05-年折舊額,2))print("每年折舊額依次為:",result)while循環(huán)說明:甲公司采用雙倍余額遞減法對固定資產(chǎn)計提折舊,現(xiàn)有一固定資產(chǎn)原值為100000元,預計使用年限為10年,凈殘值率5%。要求:采用while循環(huán)計算該固定資產(chǎn)年折舊額。輸出結(jié)果:每年折舊額依次為:[20000.0,16000.0,12800.0,10240.0,8192.0,6553.6,5242.88,4194.3,5888.61,5888.61]注意round函數(shù):采用四舍六入五成雙計數(shù)保留方法,是一種比較科學的計數(shù)方法。具體的保留方法:“四”是指≤4時舍去,"六"是指≥6時進上,"五"指的是根據(jù)5后面的數(shù)字來定,當5后有數(shù)時,舍5入1;當5后無有效數(shù)字時,5前為奇數(shù),舍5入1,5前為偶數(shù),舍5不進(0是偶數(shù))。round函數(shù)精度問題round(1.15,1)按照“四舍六入五成雙”的計數(shù)原則,返回結(jié)果應(yīng)為1.2。使用字符串格式化方式查看小數(shù)1.15的后20位可以發(fā)現(xiàn),1.15在計算機中的實際值為1.14999999999999991118,所以按照round函數(shù)計數(shù)規(guī)則,返回結(jié)果為1.1。計算機中的數(shù)據(jù)是以二進制的形式來存儲的,而部分小數(shù)無法用二進制完整表示。decimal模塊使用二進制進行小數(shù)的運算會存在精度問題,而decimal模塊為十進制浮點運算提供了支持,更適合具有嚴格相等不變性要求的會計類應(yīng)用。通過decimal模塊就可以自定義一個四舍五入的函數(shù)。代碼#返回n的四舍五入值,默認保留2位小數(shù)fromdecimalimportDecimaldefmy_round(n,d=2):s='0.'+'0'*dreturnfloat(Decimal(str(n)).quantize(Decimal(s),rounding="ROUND_HALF_UP"))while循環(huán)說明:20×1年12月31日,甲公司經(jīng)批準發(fā)行5年期一次還本、分期付息的公司債券10,000,000元,債券利息在每年12月31日支付,票面年利率為6%,債券發(fā)行時市場利率為5%,債券實際發(fā)行總價為10,432,700元(即20×1年12月31日的攤余成本),公司采用實際利率法和攤余成本計算利息費用。要求:采用while循環(huán)計算該應(yīng)付債券20×2年至20×6年的年末攤余成本。示例2代碼i=1amortisedCost=10432700#期初攤余成本=發(fā)行總價amortisedCostList=[]#創(chuàng)建空列表存放計算的攤余成本whilei<=4:
amortisedCost=round(amortisedCost+amortisedCost*0.05-10000000*0.06,2)#計算攤余成本
amortisedCostList.append(amortisedCost)#計算結(jié)果添加至列表i+=1else:
amortisedCost=10000000#最后一年年末攤余成本=債券面值
amortisedCostList.append(amortisedCost)print('應(yīng)付債券20×2年至20×6年的年末攤余成本依次為:',amortisedCostList)while循環(huán)說明:20×1年12月31日,甲公司經(jīng)批準發(fā)行5年期一次還本、分期付息的公司債券10,000,000元,債券利息在每年12月31日支付,票面年利率為6%,債券發(fā)行時市場利率為5%,債券實際發(fā)行總價為10,432,700元(即20×1年12月31日的攤余成本),公司采用實際利率法和攤余成本計算利息費用。要求:采用while循環(huán)計算該應(yīng)付債券20×2年至20×6年的年末攤余成本。輸出結(jié)果:應(yīng)付債券20×2年至20×6年的年末攤余成本依次為:[10354335.0,10272051.75,10185654.34,10094937.06,10000000]02for循環(huán)
for循環(huán)for循環(huán):通過遍歷序列的每一個元素來實現(xiàn)循環(huán)。for循環(huán)標準寫法:for
臨時變量in
可迭代對象:循環(huán)滿足條件時執(zhí)行的代碼range()函數(shù):表示范圍,返回range對象(不可變數(shù)字序列),一般用于for循環(huán)中指定循環(huán)的次數(shù);range()函數(shù)語法:range(start,end,step)start:起始值,默認為0end:終止值,計數(shù)不包括終止值step:步長值,默認為1提示能夠通過for循環(huán)遍歷的對象稱為可迭代對象,包括字符串、列表、元組、字典等。for遍歷for循環(huán)依次把一個可迭代對象中的每個元素遍歷出來,分別進行操作。代碼#創(chuàng)建一個列表account=['主營業(yè)務(wù)收入','主營業(yè)務(wù)成本','稅金及附加']#for遍歷列表元素,并輸出所有元素foriinaccount:print(i)輸出結(jié)果:主營業(yè)務(wù)收入主營業(yè)務(wù)成本稅金及附加for遍歷字典說明foriindict:遍歷字典所有keyforiindict.keys():遍歷字典所有keyforiindict.values():遍歷字典所有valueforiindict.items():遍歷字典所有鍵值對for循環(huán)說明:甲公司采用雙倍余額遞減法對固定資產(chǎn)計提折舊,現(xiàn)有一固定資產(chǎn)原值為100000元,預計使用年限為10年,凈殘值率5%。要求:采用for循環(huán)計算該固定資產(chǎn)年折舊額。示例3代碼年初固定資產(chǎn)凈值=100000#第一年年初固定資產(chǎn)凈值=固定資產(chǎn)原值result=[]#創(chuàng)建空列表存儲年折舊額foriinrange(8):年折舊額=round(年初固定資產(chǎn)凈值*(2/10),2)#年折舊率=2/10result.append(年折舊額)年初固定資產(chǎn)凈值-=年折舊額else:年折舊額=round((年初固定資產(chǎn)凈值-100000*0.05)/2,2)result.append(年折舊額)result.append(round(年初固定資產(chǎn)凈值-100000*0.05-年折舊額,2))print("每年折舊額依次為:",result)for循環(huán)說明:20×1年12月31日,甲公司經(jīng)批準發(fā)行5年期一次還本、分期付息的公司債券10,000,000元,債券利息在每年12月31日支付,票面年利率為6%,債券發(fā)行時市場利率為5%,債券實際發(fā)行總價為10,432,700元(即20×1年12月31日的攤余成本),公司采用實際利率法和攤余成本計算利息費用。要求:采用for循環(huán)計算該應(yīng)付債券20×2年至20×6年的年末攤余成本。示例4代碼amortisedCost=10432700amortisedCostList=[]foriinrange(4):
amortisedCost=round(amortisedCost+amortisedCost*0.05-10000000*0.06,2)
amortisedCostList.append(amortisedCost)else:
amortisedCost=10000000
amortisedCostList.append(amortisedCost)print('應(yīng)付債券20×2年至20×6年的年末攤余成本依次為:',amortisedCostList)for循環(huán)使用for循環(huán)與range函數(shù)創(chuàng)建一個0至10的整數(shù)列表(包含10)。代碼#創(chuàng)建一個空列表接收結(jié)果num=[]#for循環(huán)foriinrange(11):num.append(i)#輸出列表print(num)輸出結(jié)果:[0,1,2,3,4,5,6,7,8,9,10]那么,使用for循環(huán)創(chuàng)建列表有沒有更簡單的寫法?列表推導式列表推導式:是Python構(gòu)建列表(list)的一種快捷方式。代碼#創(chuàng)建一個空列表接收結(jié)果num=[]#for循環(huán)foriinrange(11):num.append(i)#輸出列表print(num)列表推導式寫法:[表達式for變量in可迭代對象]或者:[表達式for變量in可迭代對象if條件判斷]代碼#列表推導式num=[iforiinrange(11)]#輸出列表print(num)zip()函數(shù)zip()函數(shù):以可迭代對象作為參數(shù),將可迭代對象中對應(yīng)位置的元素打包成一個個元組,返回一個zip對象,可轉(zhuǎn)換為列表或元組。zip對象轉(zhuǎn)換為列表的方法:使用列表推導式,通過for遍歷取出zip對象存儲的元組;通過list()函數(shù)將zip對象強制轉(zhuǎn)換為列表。代碼#創(chuàng)建列表account=['營業(yè)收入','營業(yè)成本']amount=[2000,1000]#zip()函數(shù)打包print(zip(account,amount))輸出結(jié)果:<zipat0x7febf85d6d20>zip()函數(shù)示例5代碼#創(chuàng)建列表account=['營業(yè)收入','營業(yè)成本','銷售費用']amount=[2000,1000]#zip對象轉(zhuǎn)換:列表推導式print([iforiinzip(account,amount)])代碼#創(chuàng)建列表account=['營業(yè)收入','營業(yè)成本','銷售費用']amount=[2000,1000]#zip對象轉(zhuǎn)換:list函數(shù)print(list(zip(account,amount)))輸出結(jié)果:[('營業(yè)收入',2000),('營業(yè)成本',1000)]提示當傳入的可迭代對象中元素不一致時,以元素最短的對象為準進行打包03嵌套循環(huán)嵌套循環(huán)在一個循環(huán)體語句中又包含另一個循環(huán)語句,稱為循環(huán)嵌套。while循環(huán)嵌套語法:i=0While<條件判斷1>:j=0while<條件判斷2>:<執(zhí)行2>j=j+1
<執(zhí)行1>
i=i+1for循環(huán)嵌套語法:for變量1in[可迭代對象1]:
for變量2in[可迭代對象2]:<執(zhí)行2><執(zhí)行1>嵌套循環(huán)說明:經(jīng)預測,甲公司1-3月收入分別為12萬元、15.5萬元、14萬元,預計各期銷售費用、管理費用占收入比重分別為0.1、0.12。要求:使用for嵌套循環(huán)分別計算1-3月銷售費用、管理費用預算金額。外循環(huán)管理費用銷售費用:0.1內(nèi)循環(huán)內(nèi)循環(huán)1月:12萬3月:14萬2月:15.5萬1月:12萬2月:15.5萬3月:14萬11月銷售費用預算=0.1*122月銷售費用預算=0.1*15.53月銷售費用預算=0.1*141月管理費用預算=0.12*122月管理費用預算=0.12*15.53月管理費用預算=0.12*14管理費用:0.12銷售費用:0.12嵌套循環(huán)說明:經(jīng)預測,甲公司1-3月收入分別為12萬元、15.5萬元、14萬元,預計各期銷售費用、管理費用占收入比重分別為0.1、0.12。要求:使用for嵌套循環(huán)分別計算1-3月銷售費用、管理費用預算金額。示例6代碼#創(chuàng)建字典percentage={'銷售費用':0.1,'管理費用':0.12}income={'1月':120000,'2月':155000,'3月':140000}#for嵌套循環(huán)-遍歷字典取keyforkey1inpercentage:forkey2inincome:cost=percentage[key1]*income[key2]print('{}{}預算金額為:{}'.format(key2,key1,cost))輸出結(jié)果:1月銷售費用預算金額為:12000.02月銷售費用預算金額為:15500.03月銷售費用預算金額為:14000.01月管理費用預算金額為:14400.02月管理費用預算金額為:18600.03月管理費用預算金額為:16800.004跳轉(zhuǎn)語句break語句break語句:可用于while和for循環(huán),在滿足條件時,提前退出循環(huán),存在嵌套循環(huán)時,break語句只能跳出最近一層循環(huán)。說明:甲公司1-4月收入分別為12萬元、15.5萬元、14萬元、17萬元。要求:使用f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)江防腐木長廊施工方案
- 洋浦經(jīng)濟開發(fā)區(qū)活性炭及制品加工項目環(huán)評報告表
- 盾構(gòu)施工施工方案
- 大方天麻林下仿野生種植技術(shù)應(yīng)用的環(huán)境條件和詳細步驟分析
- 湖北省武漢市二中廣雅中學2024-2025學年九年級下學期3月月考化學試題(原卷版+解析版)
- 新未來大學英語 視聽說教程1(智慧版) 聽力腳本 Unit 1
- 建筑電氣系統(tǒng)修繕技術(shù)方案
- 2025年自動化X光檢查機項目合作計劃書
- 中西醫(yī)結(jié)合外科學知到課后答案智慧樹章節(jié)測試答案2025年春廣州中醫(yī)藥大學
- 2025年雙層客房車項目發(fā)展計劃
- 玻璃工藝學第4章 玻璃的性質(zhì)
- 四川省藥械集中采購及醫(yī)藥價格監(jiān)測平臺操作指引
- 精品市政道路施工測量方法及測量方案
- 室內(nèi)采暖管道安裝施工工藝標準規(guī)范標準
- 小型手推清掃車畢業(yè)設(shè)計說明書課件
- 監(jiān)理大綱(范本)
- 受拉鋼筋抗震錨固長度Lae
- 2018年湖北省襄陽市中考物理試卷
- 《沉淀滴定法》PPT課件.ppt
- 波程差與光程差
- 常用測井曲線符號及單位(最規(guī)范版)
評論
0/150
提交評論