《Python程序設(shè)計(jì)基礎(chǔ)》課件-第4章 程序控制結(jié)構(gòu)_第1頁(yè)
《Python程序設(shè)計(jì)基礎(chǔ)》課件-第4章 程序控制結(jié)構(gòu)_第2頁(yè)
《Python程序設(shè)計(jì)基礎(chǔ)》課件-第4章 程序控制結(jié)構(gòu)_第3頁(yè)
《Python程序設(shè)計(jì)基礎(chǔ)》課件-第4章 程序控制結(jié)構(gòu)_第4頁(yè)
《Python程序設(shè)計(jì)基礎(chǔ)》課件-第4章 程序控制結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄CONTENT4.14.24.34.4程序流程描述分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)random庫(kù)及使用4.54.64.7異常處理程序調(diào)試學(xué)生成績(jī)處理實(shí)例4.1程序流程描述計(jì)算機(jī)在解決具體問題時(shí),是按照程序員事先安排好的步驟進(jìn)行的。計(jì)算機(jī)解決問題的步驟通常稱之為算法。程序員用編程語言將算法具體實(shí)現(xiàn),就是程序。程序員在編程之前,需要先使用某種工具將算法描述清楚,這個(gè)過程就是程序流程描述

MORETHENTEMPLATE算法的基本概念計(jì)算機(jī)在解決具體問題時(shí),是按照程序員事先安排好的步驟進(jìn)行的。計(jì)算機(jī)解決問題的步驟通常稱之為算法。程序的基本概念程序員用編程語言將算法具體實(shí)現(xiàn),就是程序。三種程序控制結(jié)構(gòu)順序結(jié)構(gòu):按順序執(zhí)行某個(gè)過程分支結(jié)構(gòu):根據(jù)條件做不同的處理循環(huán)結(jié)構(gòu):重復(fù)執(zhí)行某個(gè)過程浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院34.1.1算法與程序控制結(jié)構(gòu)

MORETHENTEMPLATE程序流程圖的作用程序流程圖簡(jiǎn)單直觀,是描述算法的有力工具。程序流程圖的分類傳統(tǒng)流程圖和N-S流程圖兩種浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院44.1.2程序流程圖

MORETHENTEMPLATE傳統(tǒng)流程圖符號(hào)總共6種符號(hào),可以表示三種程序控制結(jié)構(gòu),描述任意復(fù)雜的算法浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院54.1.2程序流程圖

MORETHENTEMPLATE三種程序控制結(jié)構(gòu)流程圖示例浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院64.1.2程序流程圖

MORETHENTEMPLATERaptor介紹Raptor是一種基于流程圖仿真的可視化的程序設(shè)計(jì)環(huán)境,為程序和算法設(shè)計(jì)的基礎(chǔ)課程的教學(xué)提供實(shí)驗(yàn)環(huán)境。Raptor直觀易學(xué),設(shè)計(jì)的流程圖可以執(zhí)行驗(yàn)證,并可以轉(zhuǎn)化為相應(yīng)的編程語言Raptor的運(yùn)行界面Raptor軟件運(yùn)行時(shí),界面左邊上部是流程圖基本符號(hào)區(qū),下部是流程圖運(yùn)行時(shí)變量顯示區(qū)。右邊是流程圖區(qū)域,流程圖運(yùn)行時(shí)還能顯示相應(yīng)的對(duì)話框。浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院74.1.3流程圖描述工具Raptor

MORETHENTEMPLATERaptor的基本使用Raptor中流程圖的符號(hào)與傳統(tǒng)流程圖的符號(hào)基本一致。畫圖的基本方法:根據(jù)流程圖中的出現(xiàn)順序,將相應(yīng)的基本流程圖符號(hào)用鼠標(biāo)拖拽到流程圖區(qū)域,并做簡(jiǎn)單的設(shè)置,所有的符號(hào)設(shè)置好并按順序有機(jī)連接,就完成了流程圖。基本的語法,比如變量、運(yùn)算符、表達(dá)式和賦值等,大部分與Python語言類似。浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院84.1.3流程圖描述工具Raptor

MORETHENTEMPLATE【例4?1】輸入3個(gè)數(shù),求平均值浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院94.1.4程序流程圖描案例

MORETHENTEMPLATE【例4?2】輸入兩個(gè)數(shù),找出最大值浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院104.1.4程序流程圖描案例

MORETHENTEMPLATE【例4?3】輸入1個(gè)年份,判斷是否是閏年(閏年的條件:年份能被4整除但不能被100整除,或者能被400整除)浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院114.1.4程序流程圖描案例

MORETHENTEMPLATE【例4?4】

輸入1個(gè)正整數(shù),判斷它是否為素?cái)?shù)。(素?cái)?shù)是指除了1和本身之外,不能被任何數(shù)整除的數(shù))浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院124.1.4程序流程圖描案例4.2分支結(jié)構(gòu)計(jì)算機(jī)在處理復(fù)雜問題時(shí),往往需要對(duì)給定的條件進(jìn)行判斷,然后根據(jù)判斷的結(jié)果進(jìn)行相應(yīng)的處理,這在編程中就需要用到分支結(jié)構(gòu)語句。根據(jù)問題的復(fù)雜程度,在Python中我們可以選用單分支語句、二分支語句和多分支語句。1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院144.2.1單分支if語句單分支if語句的格式單分支if語句執(zhí)行過程if語句首先判斷條件表達(dá)式是否成立,也就是計(jì)算條件表達(dá)式的值,如果值為True,表示條件表達(dá)式成立,如果值為False,表示條件表達(dá)式不成立。當(dāng)條件表達(dá)式成立時(shí),執(zhí)行代碼塊,否則什么也不做。代碼塊有可能是一條或多條語句,并且注意要采用縮進(jìn)格式,條件表達(dá)式后面的冒號(hào)不要遺漏。1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院154.2.1單分支if語句【例4?5】輸入1個(gè)數(shù),判斷它是否為奇數(shù)思路:用這個(gè)數(shù)對(duì)2求余,根據(jù)余數(shù)判斷該數(shù)是否為奇數(shù)1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院164.2.1單分支if語句【例4?6】輸入3個(gè)數(shù),找出最大值思路:最大數(shù)必定同時(shí)大于或等于其它兩個(gè)數(shù),把所有情況都列舉出來。26778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院174.2.1單分支if語句【例4?7】:輸入三角形3條邊長(zhǎng)a,b,c,如果能組成三角形,則計(jì)算面積。思路:根據(jù)任意兩邊之和大于第三邊的要求,判斷a,b,c是否能組成三角形,同時(shí)a,b,c必須大于0,另外注意代碼塊的縮進(jìn)。1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院184.2.2二分支if語句二分支if語句的格式二分支if語句執(zhí)行過程if語句首先判斷條件表達(dá)式是否成立,也就是計(jì)算條件表達(dá)式的值,如果值為True,表示條件表達(dá)式成立,如果值為False,表示條件表達(dá)式不成立。當(dāng)條件表達(dá)式成立時(shí),執(zhí)行代碼塊1,否則執(zhí)行代碼塊2。代碼塊1和代碼塊2有可能是一條或多條語句,并且注意要采用縮進(jìn)格式,條件表達(dá)式后面的冒號(hào)不要遺漏。26778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院194.2.2二分支if語句【例4?8】輸入1個(gè)數(shù),判斷它奇數(shù)還是偶數(shù)思路:通過這個(gè)數(shù)對(duì)2求余,根據(jù)余數(shù)判斷該數(shù)是奇數(shù)還是偶數(shù)1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院204.2.2二分支if語句【例4?9】輸入3個(gè)數(shù),找出最大值思路:先找出前兩個(gè)數(shù)中較大的那個(gè)數(shù),然后再跟第3數(shù)個(gè)比較。1,359浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院214.2.3多分支if語句多分支if語句的格式多分支if語句執(zhí)行過程多分支if語句依次判斷條件表達(dá)式1至條件表達(dá)式n-1是否成立,只要有一個(gè)成立,則執(zhí)行對(duì)應(yīng)的代碼塊,否則執(zhí)行代碼塊n。這里代碼塊1至代碼塊n有可能是一條或多條語句,并且注意要采用縮進(jìn)格式,條件表達(dá)式和else后面的冒號(hào)不要遺漏。浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院224.2.3多分支if語句【例4?10】輸入學(xué)生百分制的成績(jī)score,將它轉(zhuǎn)化為五級(jí)制grade(score>=90,grade為“優(yōu)”;80<=score<90,grade為“良”;70<=score<80,grade為“中”;60<=score<70,grade為“及格”;score<60,grade為“不及格”)思路:根據(jù)給定的等級(jí)條件利用多分支if語句依次判斷,注意條件判斷的順序很重要。浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院234.2.3多分支if語句【例4?10】輸入學(xué)生百分制的成績(jī)score,將它轉(zhuǎn)化為五級(jí)制grade(score>=90,grade為“優(yōu)”;80<=score<90,grade為“良”;70<=score<80,grade為“中”;60<=score<70,grade為“及格”;score<60,grade為“不及格”)思路:根據(jù)給定的等級(jí)條件利用多分支if語句依次判斷,注意條件判斷的順序很重要。浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院244.2.4if語句嵌套if語句嵌套概述在前面介紹的3種if語句中,代碼塊又可以是if語句,這3種if語句可以互相嵌套,這樣構(gòu)成了if語句的嵌套結(jié)構(gòu),嵌套結(jié)構(gòu)在做復(fù)雜條件判斷時(shí)經(jīng)常用到。使用時(shí)要注意嵌套if語句的縮進(jìn)和對(duì)齊。if語句嵌套示例浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院254.2.4if語句嵌套【例4?11】輸入3個(gè)數(shù),找出最大值思路:先比較前兩個(gè)數(shù)的大小,根據(jù)比較結(jié)果再與第3個(gè)數(shù)比較,然后確定最大值。浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院264.2.4if語句嵌套【例4?12】輸入年份,判斷是否為閏年(閏年的條件:年份能被4整除但不能被100整除,或者能被400整除)思路:閏年的判斷涉及3個(gè)判斷:年份能被4整除、年份不能被100整除、年份能被400整除。我們首先要搞清楚這3個(gè)判斷之間的關(guān)系,然后使用if語句從任意一個(gè)判斷開始,根據(jù)判斷結(jié)果再使用嵌套的if語句再進(jìn)行判斷,最終確定該年份是否為閏年。這里我們從年份能被4整除開始判斷。浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院274.2.5分支結(jié)構(gòu)案例【例4?13】輸入學(xué)生百分制的成績(jī)score,將它轉(zhuǎn)化為五級(jí)制grade(轉(zhuǎn)換要求同【例4-10】)思路:我們從score

>=

70這個(gè)條件開始判斷,根據(jù)判斷結(jié)果再分別使用嵌套的if語句繼續(xù)判斷,直到所有情況分清楚為止。浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院284.2.5分支結(jié)構(gòu)案例【例4?14】設(shè)計(jì)一個(gè)石頭剪刀布的小游戲。從鍵盤分別輸入計(jì)算機(jī)和人出的手勢(shì)情況(石頭、剪刀和布,分別輸入名稱即可),然后程序判定誰贏了。思路:先判定平局的情況,然后根據(jù)人出的手勢(shì)情況(3種)與計(jì)算機(jī)出的情況進(jìn)行比較,判定輸贏。這里我們用到了多分支的if語句嵌套二分支的if語句。4.3循環(huán)結(jié)構(gòu)

我們用計(jì)算機(jī)解決問題時(shí),可能需要多次重復(fù)執(zhí)行某一個(gè)有規(guī)律的過程,這個(gè)比較適合用循環(huán)結(jié)構(gòu)來處理。根據(jù)重復(fù)執(zhí)行次數(shù)的確定性,循環(huán)結(jié)構(gòu)可以分為循環(huán)次數(shù)確定的循環(huán)和循環(huán)次數(shù)不確定的循環(huán)。Python語言一般用for語句處理循環(huán)次數(shù)確定的循環(huán),用while語句處理循環(huán)次數(shù)不確定的循環(huán)。

MORETHENTEMPLATEfor循環(huán)語句的基本格式for循環(huán)語句的執(zhí)行過程for語句執(zhí)行次數(shù)是由遍歷結(jié)構(gòu)中元素的個(gè)數(shù)來確定的。當(dāng)for語句執(zhí)行時(shí),循環(huán)變量依次取遍歷結(jié)構(gòu)中每一個(gè)元素的值,然后執(zhí)行代碼塊,代碼塊又叫循環(huán)體,可能是一條語句或多條語句,要注意縮進(jìn)對(duì)齊。遍歷結(jié)構(gòu)可以是字符串、range()函數(shù)、組合數(shù)據(jù)或文件等,本章先介紹字符串、range()函數(shù)作為遍歷結(jié)構(gòu)。浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院304.3.1for語句

MORETHENTEMPLATEfor循環(huán)語句遍歷結(jié)構(gòu)(1)字符串作為遍歷結(jié)構(gòu)(2)range()函數(shù)作為遍歷結(jié)構(gòu) range(n)

產(chǎn)生序列:0,1,2,3,?

?,??

?1

range(m,n)

產(chǎn)生序列:??,??+1,??+2,?

?,??

?1

range(m,n,d)

產(chǎn)生序列:??,??+??,??+2??,?

?,按步長(zhǎng)d遞增,如果d為負(fù),則遞減,直至那個(gè)最接近但不等于n的值浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院314.3.1for語句

MORETHENTEMPLATE【例4?15】輸入一串字符串,統(tǒng)計(jì)其中大寫字母的個(gè)數(shù)浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院324.3.1for語句

MORETHENTEMPLATE【例4?16】輸入正整數(shù)n,求1到n之間所有的整數(shù)和思路:根據(jù)輸入的正整數(shù)n,調(diào)用range函數(shù)產(chǎn)生遍歷序列,用for語句實(shí)現(xiàn)浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院334.3.1for語句

MORETHENTEMPLATE【例4?17】輸入正整數(shù)n,求1到n之間所有的能被3整除的偶數(shù)和思路:根據(jù)輸入的正整數(shù)n,調(diào)用range函數(shù)產(chǎn)生偶數(shù)序列,再for語句中判斷序列中的每個(gè)數(shù)是否能被3整除。浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院344.3.1for語句1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院354.3.2while語句while循環(huán)語句的基本格式while循環(huán)語句的執(zhí)行過程while語句用條件表達(dá)式來控制循環(huán),當(dāng)條件表達(dá)式的值為True時(shí),執(zhí)行代碼塊,直到條件表達(dá)式的值為False,結(jié)束循環(huán)。這里的代碼塊又叫循環(huán)體,可能是一條語句或多條語句,要注意縮進(jìn)對(duì)齊。用while語句設(shè)計(jì)程序時(shí),要找到一個(gè)合適的條件表達(dá)式,使得循環(huán)能夠運(yùn)轉(zhuǎn)起來。在代碼塊中,一般要有能夠使條件表達(dá)式的值趨向于False的語句,這樣循環(huán)才會(huì)結(jié)束。1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院364.3.2while語句【例4?18】輸入正整數(shù)n,求1到n之間所有的整數(shù)和思路:根據(jù)輸入的正整數(shù)n,設(shè)計(jì)合適的循環(huán)條件表達(dá)式,用while語句實(shí)現(xiàn)。1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院374.3.2while語句【例4?19】輸入n個(gè)整數(shù),找出最大值

思路:假設(shè)輸入的第一個(gè)數(shù)是最大值Max,后面輸入的n-1個(gè)數(shù)依次與Max比較,如果比Max大,就把它賦值給Max。1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院384.3.3break和continue語句break和continue語句的作用在實(shí)際編程中,為了提高效率或者控制的需要,可能需要去改變正常的循環(huán)流程,比如提前結(jié)束循環(huán)或者提前進(jìn)入下一次循環(huán)。break和continue用于改變正常的循環(huán)流程break語句用于提前結(jié)束循環(huán)continue語句用于提前結(jié)束本次循環(huán)1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院394.3.3break和continue語句【例4?20】判斷正整數(shù)n(n>=2)是否為素?cái)?shù)

思路:根據(jù)素?cái)?shù)的定義,設(shè)計(jì)循環(huán),取2到n/2之間所有的數(shù),用n來整除,只要找到一個(gè)能被整除的就結(jié)束循環(huán),然后判斷循環(huán)是否是正常結(jié)束的,以此來判斷n是否為素?cái)?shù)。1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院404.3.3break和continue語句【例4?21】判定正整數(shù)n是否為完數(shù)(完數(shù)的定義:如果一個(gè)數(shù)恰好等于它的真因子之和,則稱該數(shù)為完數(shù)。例如,6是完數(shù),6=1+2+3)思路:根據(jù)完數(shù)的定義,設(shè)計(jì)循環(huán),取1到n/2之間所有的數(shù),用n來整除,如果能被整除,就累加起來,最后判斷累加和與n是否相等,以此來判斷n是否為完數(shù)。

MORETHENTEMPLATEelse子句的作用循環(huán)結(jié)束有兩種方式,一種是正常結(jié)束,另一種是使用break語句提前結(jié)束。Python語言可以在循環(huán)語句中使用else子句,對(duì)兩種不同的循環(huán)退出方式做不同的處理。當(dāng)循環(huán)正常結(jié)束時(shí),執(zhí)行else結(jié)構(gòu)中的代碼。如果是提前結(jié)束循環(huán),else結(jié)構(gòu)中的代碼不執(zhí)行。浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院414.3.4循環(huán)語句中的else子句

MORETHENTEMPLATE帶else子句for語句的基本使用格式浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院424.3.4循環(huán)語句中的else子句

MORETHENTEMPLATE帶else子句while語句的基本使用格式浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院434.3.4循環(huán)語句中的else子句

MORETHENTEMPLATE【例4?22】判斷正整數(shù)n(n>=2)是否為素?cái)?shù)(方法2)浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院444.3.4循環(huán)語句中的else子句

MORETHENTEMPLATE多重循環(huán)的含義多重循環(huán)又稱為循環(huán)嵌套,也就是在循環(huán)體里再嵌套另一個(gè)循環(huán),比較常用的就是雙重循環(huán)。雙重循環(huán)的外層循環(huán)通常叫外循環(huán),嵌套的循環(huán)通常叫內(nèi)循環(huán)。外循環(huán)和內(nèi)循環(huán)都可以根據(jù)需要使用for語句或while語句。浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院454.3.5多重循環(huán)

MORETHENTEMPLATE多重循環(huán)案例1浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院464.3.5多重循環(huán)多重循環(huán)案例2浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院474.3.5多重循環(huán)

MORETHENTEMPLATE浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院484.3.5多重循環(huán)【例4?23】輸入正整數(shù)n,求1+(1+2)+(1+2+3)+……+(1+2+3+……+n)思路:這個(gè)式子是由n個(gè)式子的和相加組成的,每個(gè)式子是1+2+3+……+i的形式。因此,我們可以設(shè)計(jì)外循環(huán)控制n個(gè)式子的和相加,內(nèi)循環(huán)用于求每個(gè)式子的和。

MORETHENTEMPLATE浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院494.3.5多重循環(huán)【例4?24】輸出如下圖形(n=7)思路:圖形由7行組成,每行由2*i個(gè)“*”號(hào)組成,并考慮到每行“*”之前的空格。可以設(shè)計(jì)外循環(huán)控制行的輸出,每行的輸出由內(nèi)循環(huán)控制。內(nèi)循環(huán)也可以由字符串運(yùn)算代替,更加簡(jiǎn)單。浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院504.3.5多重循環(huán)想一想,如果要輸出如下幾種圖形,應(yīng)該怎么處理?1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院514.3.6循環(huán)結(jié)構(gòu)案例【例4?25】輸出斐波那契數(shù)列的前n項(xiàng),每行輸出5項(xiàng)。斐波那契數(shù)列(Fibonaccisequence),指的是這樣一個(gè)數(shù)列:1、1、2、3、5、8、13、21、……。這個(gè)數(shù)列從第3項(xiàng)開始,每一項(xiàng)都等于前兩項(xiàng)之和。

思路:用a,b代表斐波那契數(shù)列的任意連續(xù)兩項(xiàng)(初始值為:1、1),求出下一項(xiàng)c,然后然后得到下一個(gè)連續(xù)兩項(xiàng)a、b,用循環(huán)重復(fù)上述過程。1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院524.3.6循環(huán)結(jié)構(gòu)案例【例4?26】輸出100以內(nèi)的素?cái)?shù),每行輸出5個(gè)思路:設(shè)計(jì)外循環(huán),對(duì)100以內(nèi)的數(shù)進(jìn)行掃描,設(shè)計(jì)內(nèi)循環(huán)判斷該數(shù)是否為素?cái)?shù)1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院534.3.6循環(huán)結(jié)構(gòu)案例【例4?27】改進(jìn)【例4-10】,某班有n個(gè)學(xué)生,本學(xué)期學(xué)了m門課,從鍵盤輸入每個(gè)學(xué)生每門課的成績(jī),統(tǒng)計(jì)每門課成績(jī)等級(jí)分布的情況思路:設(shè)計(jì)外循環(huán)對(duì)m門課進(jìn)行掃描,設(shè)計(jì)內(nèi)循環(huán)輸入每門課所有學(xué)生的成績(jī),每輸入一個(gè)成績(jī),就進(jìn)行等級(jí)轉(zhuǎn)換并統(tǒng)計(jì)。4.4random庫(kù)及使用Python語言主要通過random庫(kù)來處理與隨機(jī)數(shù)有關(guān)的問題。

MORETHENTEMPLATErandom庫(kù)的作用Python語言主要通過random庫(kù)來處理與隨機(jī)數(shù)有關(guān)的問題隨機(jī)種子隨機(jī)數(shù)種子確定產(chǎn)生的隨機(jī)數(shù)序列random庫(kù)的使用用importrandom或fromrandomimport*語句導(dǎo)入random庫(kù)浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院554.4.1random庫(kù)及常用函數(shù)

MORETHENTEMPLATErandom庫(kù)的主要函數(shù)浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院564.4.1random庫(kù)及常用函數(shù)

MORETHENTEMPLATE浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院574.4.1random庫(kù)及常用函數(shù)【例4?28】random庫(kù)函數(shù)使用示例

MORETHENTEMPLATE浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院584.4.1random庫(kù)及常用函數(shù)【例4?28】random庫(kù)函數(shù)使用示例

MORETHENTEMPLATE浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院594.4.2random庫(kù)應(yīng)用案例【例4?29】設(shè)計(jì)猜數(shù)游戲。計(jì)算機(jī)隨機(jī)產(chǎn)生一個(gè)100以內(nèi)的整數(shù),讓用戶來猜,用戶猜對(duì)了,游戲結(jié)束。如果用戶猜錯(cuò)了,給用戶必要的提示。思路:選擇合適的隨機(jī)函數(shù)產(chǎn)生一個(gè)100以內(nèi)的整數(shù),設(shè)計(jì)循環(huán),當(dāng)用戶輸入猜測(cè)的數(shù)不正確時(shí),提示用戶繼續(xù)猜測(cè),直到正確為止。

MORETHENTEMPLATE浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院604.4.2random庫(kù)應(yīng)用案例【例4?30】模擬擲骰子10000次,統(tǒng)計(jì)兩個(gè)骰子點(diǎn)數(shù)相同的概率。

思路:利用隨機(jī)函數(shù),隨機(jī)產(chǎn)生兩個(gè)1-6之間的隨機(jī)數(shù),代表一次擲骰子的結(jié)果。設(shè)計(jì)循環(huán),執(zhí)行10000次,統(tǒng)計(jì)點(diǎn)數(shù)相同的次數(shù)。

MORETHENTEMPLATE浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院614.4.2random庫(kù)應(yīng)用案例【例4?31】改進(jìn)前面【例4-14】石頭剪刀布的小游戲。從鍵盤輸入玩游戲的局?jǐn)?shù),每局讓計(jì)算機(jī)隨機(jī)產(chǎn)生一種手勢(shì),然后從鍵盤輸入人出的手勢(shì)情況(石頭、剪刀和布,分別輸入名稱即可),最后程序判定輸贏并統(tǒng)計(jì)輸贏局?jǐn)?shù)。思路:在【例4-14】的基礎(chǔ)上,設(shè)計(jì)循環(huán),用隨機(jī)函數(shù)讓計(jì)算機(jī)隨機(jī)產(chǎn)生一種手勢(shì)。然后與人的輸入手勢(shì)進(jìn)行比較,判定輸贏并統(tǒng)計(jì)結(jié)果。

MORETHENTEMPLATE浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院624.4.2random庫(kù)應(yīng)用案例4.5異常處理異常是指程序運(yùn)行過程產(chǎn)生的錯(cuò)誤。在異常產(chǎn)生時(shí),我們需要捕獲異常,對(duì)異常進(jìn)行善后處理,使程序不會(huì)意外終止,將異常對(duì)程序的影響降到最低。Python提供了異常處理的機(jī)制,包括異常類和異常處理處理語句。1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院644.5.1異常概述異常含義

異常是指程序運(yùn)行過程產(chǎn)生的錯(cuò)誤,比如被零除、打開一個(gè)不存在的文件等。這些錯(cuò)誤會(huì)使程序運(yùn)行結(jié)束,并輸出出錯(cuò)信息,也就是會(huì)改變程序正常的流程。因此,在異常產(chǎn)生時(shí),我們需要捕獲異常,對(duì)異常進(jìn)行善后處理,使程序不會(huì)意外終止,將異常對(duì)程序的影響降到最低。異常處理使程序能夠處理異常后繼續(xù)正常執(zhí)行。 Python提供了異常處理的機(jī)制,包括異常類和異常處理處理語句。常見的異常如表4-3所示,不同的異常由相應(yīng)的類來處理。Python通過異常處理語句來捕獲并處理異常。1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院654.5.1異常概述常見的異常1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院664.5.1異常概述1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院674.5.2異常處理語句異常處理語句格式及含義1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院684.5.2異常處理語句【例4?30】模擬異常處理演示。對(duì)【例4?32】進(jìn)行完善,能夠?qū)ΤR姷妮斎脲e(cuò)誤進(jìn)行異常處理,代碼如下:4.6程序調(diào)試程序調(diào)試是指程序員將編制的程序投入實(shí)際運(yùn)行前,用手工或編譯程序(開發(fā)工具)等手段進(jìn)行測(cè)試,修正語法錯(cuò)誤和邏輯錯(cuò)誤的過程,這是保證計(jì)算機(jī)軟件系統(tǒng)正確性的必不可少的步驟。1,35926778%浙江財(cái)經(jīng)大學(xué)東方學(xué)院信息分院7

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論