項(xiàng)目八第一課時(shí)用列表表示和計(jì)算平均氣溫課件-高中信息技術(shù)滬科版必修1_第1頁
項(xiàng)目八第一課時(shí)用列表表示和計(jì)算平均氣溫課件-高中信息技術(shù)滬科版必修1_第2頁
項(xiàng)目八第一課時(shí)用列表表示和計(jì)算平均氣溫課件-高中信息技術(shù)滬科版必修1_第3頁
項(xiàng)目八第一課時(shí)用列表表示和計(jì)算平均氣溫課件-高中信息技術(shù)滬科版必修1_第4頁
項(xiàng)目八第一課時(shí)用列表表示和計(jì)算平均氣溫課件-高中信息技術(shù)滬科版必修1_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一課時(shí)用列表表示和計(jì)算平均氣溫項(xiàng)目八

分析歷史氣溫?cái)?shù)據(jù)

——設(shè)計(jì)批量數(shù)據(jù)算法1234批量數(shù)據(jù)及其表示和操作函數(shù)的定義和調(diào)用文本數(shù)據(jù)的表示和操作用列表表示和計(jì)算平均氣溫目錄一.批量數(shù)據(jù)及其表示和操作批量數(shù)據(jù)一組數(shù)據(jù)類型相同的數(shù)據(jù)對(duì)象。數(shù)據(jù)類型可以是簡(jiǎn)單類型,也可以是復(fù)雜的構(gòu)造類型。下標(biāo)對(duì)批量數(shù)據(jù)中數(shù)據(jù)項(xiàng)的訪問可通過下標(biāo)。例如,a[I],a[i]。下標(biāo)的含義是與第一個(gè)數(shù)據(jù)項(xiàng)的偏移量,通常從0開始。例如Color=["red","gren","blue"],Color[0]的值是"red",Color[1]的值是"gren",Color[2]的值是"blue"。批量數(shù)據(jù)的優(yōu)勢(shì)

(1)一批批量數(shù)據(jù)只需定義一個(gè)名稱,程序的通用性更強(qiáng)。而一個(gè)單變量只可以控制一個(gè)數(shù)據(jù),使用單變量,程序可控制的數(shù)據(jù)的個(gè)數(shù)是固定的。批量數(shù)據(jù)的優(yōu)勢(shì)

(2)使用方便,可以組織循環(huán)控制結(jié)構(gòu),通過控制下標(biāo)的值控制一批數(shù)據(jù)。Python列表的基本操作操作描述x1+x2連接列表x1和x2,生成新列表x*n將列表x復(fù)制n次,生成新列表x[i]引用列表x中下標(biāo)為i的列表成員,i從0開始計(jì)數(shù)x[i:j]引用列表x中下標(biāo)從i到j(luò)-1的子列表x[i:j:k]引用列表x中下標(biāo)從i到j(luò)-1、間隔為k的子列表len(x)計(jì)算列表x中成員的個(gè)數(shù)max(x)列表x中最大數(shù)據(jù)項(xiàng)min(x)列表x中最小數(shù)據(jù)項(xiàng)vinx檢測(cè)v是否在列表x中,返回布爾值vnotinx檢測(cè)v是否不在列表x中,返回布爾值表Python列表的方法方法描述list.append(x)把一個(gè)數(shù)據(jù)項(xiàng)添加到列表的結(jié)尾,相當(dāng)于a[len(a):]=[x]list.extend(L)將一個(gè)列表中的所有數(shù)據(jù)項(xiàng)都添加到另一個(gè)列表中,相當(dāng)于a[len(a):]=Llist.insert(i,x)在指定位置插入一個(gè)數(shù)據(jù)項(xiàng),如a.insert(0,x)會(huì)插入到整個(gè)列表之前,而a.insert(len(a),x)相當(dāng)于a.append(x)list.remove(x)刪除列表中值為x的第一個(gè)數(shù)據(jù)項(xiàng);如果沒有這樣的數(shù)據(jù)項(xiàng),就返回Flse二.函數(shù)的定義和調(diào)用

在設(shè)計(jì)一個(gè)大的應(yīng)用程序時(shí),經(jīng)常會(huì)發(fā)生實(shí)現(xiàn)類同功能的程序塊在程序中多次反復(fù)出現(xiàn)的情況。如果單獨(dú)編寫這些程序塊,供程序中各部分,甚至各應(yīng)用程序共享使用,就可以減少編寫代碼的工作量,而且也便于修改和查看Python語言提供了函數(shù)來實(shí)現(xiàn)有獨(dú)立功能的程序塊。函數(shù)1.函數(shù)的定義2.函數(shù)的調(diào)用1.函數(shù)的定義

構(gòu)造一個(gè)函數(shù)的思路與分析數(shù)學(xué)應(yīng)用題有些類似,要知道已知什么和求什么。將已知條件放在參數(shù)中,在調(diào)用時(shí)通過參數(shù)傳遞得到,而所的值可通過函數(shù)的返回值返回。函數(shù)定義的一般格式如下:def函數(shù)名(<參數(shù)>):函數(shù)體1.函數(shù)的定義

函數(shù)的定義中一般都包含return語句,return語句的作用是結(jié)束函數(shù)的執(zhí)行,返回一個(gè)值作為函數(shù)的返回值。返回值可以是簡(jiǎn)單的整型數(shù)據(jù)、浮點(diǎn)型、文本數(shù)據(jù)等,也可以是復(fù)雜的列表等,還可以沒有返回值,僅僅結(jié)束函數(shù)的執(zhí)行。1.函數(shù)的定義

getAvg函數(shù)的返回值是一個(gè)表示數(shù)據(jù)系列的平均值的浮點(diǎn)值,readNList函數(shù)的返回值則是一個(gè)存放了一個(gè)月的日平均氣溫值的列表。沒有返回值的函數(shù)往往是執(zhí)行一個(gè)操作,例如輸出12個(gè)月的月平均氣溫的函數(shù)不需要返回值。2.函數(shù)的調(diào)用

調(diào)用getAvg函數(shù)時(shí),需要告訴函數(shù)計(jì)算哪些數(shù)據(jù)的平均值,所以需要一個(gè)參數(shù)來接收數(shù)據(jù)序列。函數(shù)最后返回的是求得的平均值,在調(diào)用函數(shù)時(shí),還要考慮接收函數(shù)的返回值。函數(shù)調(diào)用的一般形式如下:函數(shù)名(<參數(shù)值列表>)2.函數(shù)的調(diào)用

因?yàn)榇蟛糠趾瘮?shù)是有返回值的,所以調(diào)用時(shí)常和賦值語句一起使用,由變量引用返回值,其調(diào)用形式為:函數(shù)調(diào)用的一般形式如下:變量名=函數(shù)名(<參數(shù)值列表>)2.函數(shù)的調(diào)用

例如,要計(jì)算7!+11!-10!,可以定義一個(gè)函數(shù),用于計(jì)算n!。要計(jì)算n!,必須有一個(gè)參數(shù)接受n的值,并有一個(gè)返回值作為計(jì)算結(jié)果。2.函數(shù)的調(diào)用

>>>

def

fact(n):p=1

ifn<0:

return-1

foriinrange(1,n+1):p=p*1

returnp定義函數(shù)的代碼>>>result=fact(7)+fact(11)-fact(10)>>>result36293040調(diào)用函數(shù)的代碼2.函數(shù)的調(diào)用2.函數(shù)的調(diào)用例如,本項(xiàng)目模塊化設(shè)計(jì)的算法中,步驟2.2.1和2.2.2可以用一個(gè)函數(shù)調(diào)用完成。函數(shù)append的參數(shù)是getAvg函數(shù)的返回值。2.2.1求列表m的平均值avg:2.2.2將avg追加到列表avgy中。avgy.append(getAvg(m))三.文本數(shù)據(jù)的表示和操作打印字符①英文大小寫字母a-z和A-Z;②數(shù)字字符0-9;③標(biāo)點(diǎn)符號(hào)和一些鍵盤上的常見符號(hào)。1.文本數(shù)據(jù)的表示控制字符回車、制表符、退格等。Python的轉(zhuǎn)義字符轉(zhuǎn)義字符描述

轉(zhuǎn)義字符描述\\反斜杠符號(hào)\t橫向制表符\’單引號(hào)\r回車\”雙引號(hào)\n換行\(zhòng)a響鈴\(在行尾時(shí))續(xù)行符\b退格(Backspace)\f換頁\e轉(zhuǎn)義\oyy八進(jìn)制數(shù)yy代表的字符,如:\o12代表換行\(zhòng)000空\xyy十六進(jìn)制數(shù)yy代表的字符,如:\x0a代表換行

字符串常量①單引號(hào);②雙引號(hào);③三引號(hào)。1.文本數(shù)據(jù)的表示字符串常量的使用1.文本數(shù)據(jù)的表示

前后必須一致。其中單引號(hào)、雙引號(hào)可以表示單行字符串兩者作用一致。使用單引號(hào)時(shí),雙引號(hào)可以是字符串的一部分;使用雙引號(hào)時(shí),單引號(hào)可以是字符串的一部分;使用三引號(hào)可以表示單行或多行字符串。>>>

print("I'maprogrammer.") I'maprogrammer.>>>

print('Shesaid:"youareright".')Shesaid:"youareright".>>>

print('''三引號(hào)中可以有'單引號(hào)'可以有"雙引號(hào)"還可以換行''')三引號(hào)中可以有'單引號(hào)'可以有"雙引號(hào)"還可以換行Python字符串類型數(shù)據(jù)的操作符操作符描述x+y連接兩個(gè)字符串x和yx*y復(fù)制n次字符串xxins包含判斷,判斷字符串x是否為字符串s的子串,是則返回true,否則返回falsestr[i]索引操作,返回下標(biāo)位置的一個(gè)字符str[N:M]切片,返回從str[N]到str[M-1]的子串len(x)返回字符串x的長度str(x)返回任意類型x所對(duì)應(yīng)的字符串操作示例連接復(fù)制操作符2.字符串?dāng)?shù)據(jù)的操作>>>s1="hello">>>s2="Python">>>s3=s1+s2>>>

print(s3)helloPython>>>s4=3*s2>>>

print(s4)PythonPythonPython>>>s2ins4true>>>s1ins4false獲取月份英語縮寫2.字符串?dāng)?shù)據(jù)的操作monthStr="JanFebMarAprMayJunJulAugSepOctNovDec"monthId=eval(input("請(qǐng)輸入月份(1-12):"))pos=(monthId-1)*3print(monthStr[pos:pos+3])程序的運(yùn)行結(jié)果2.字符串?dāng)?shù)據(jù)的操作==========RESTART:C:/sample/getMonthname.py=========請(qǐng)輸入月份(1-12):8Aug通過下標(biāo)訪問字符串2.字符串?dāng)?shù)據(jù)的操作>>>

print(s4[7:13])Python>>>s4[7:13]='Hello'Traceback(mostrecentcalllast):File"<pyshell#48>",line1,in<module>s4[7:13]='Hello'TypeError:'str'objectdoesnotsupportitemassignment字符串對(duì)象的常用方法常用方法描述s.capitalize()返回首字符大寫后的字符串,s對(duì)象不變s.lower()返回所有字符改小寫后的字符串,s對(duì)象不變s.upper()返回所有字符改大寫后的字符串,s對(duì)象不變s.strip()返回刪去前后空格后的字符串,s對(duì)象不變s.replace(old,new)將s對(duì)象中所有的old子串用new子串代替s.count(sub[,start[,end]])計(jì)算子串sub在s對(duì)象中出現(xiàn)的次數(shù),start和end定義起始位置s.find(sub[,start[,end]])計(jì)算子串sub在s對(duì)象中首次出現(xiàn)的位置s.join(iterable)將序列對(duì)象中所有字符串合并成一個(gè)字符串,s對(duì)象為連接分隔符s.split(sep=None)將s對(duì)象按分隔符sep拆分為字符串列表,默認(rèn)為空格字符串對(duì)象的常用方法示例2.字符串?dāng)?shù)據(jù)的操作>>>s='hellopython'>>>t=s.strip()>>>s'helloPython'

>>>t'helloPython'>>>t.find('he')0>>>s.count('h')2>>>L=t.split()>>>L['hello','Python']>>>t1=",".join(L)>>>

t1

'hello,Python'四.文本數(shù)據(jù)的表示和操作

氣象臺(tái)每日發(fā)布的氣象數(shù)據(jù)中,常常會(huì)出現(xiàn)最高氣溫、最低氣溫和日平均氣溫。最高氣溫是一日內(nèi)氣溫的最高值,一般出現(xiàn)在14時(shí)左右;最低氣溫是一日內(nèi)氣溫的最低值,般出現(xiàn)在凌晨。日平均氣溫的計(jì)算方法不一,可以是最高氣溫和最低氣溫的平均值,也可以是一天多次觀測(cè)值的平均值。而一個(gè)月的日平均氣溫的平均值就是月平均氣溫。問題:已知?dú)庀笈_(tái)某日觀測(cè)得到的4次氣溫值為:10℃、13℃、18℃、12℃,求該日的日平均氣溫。A計(jì)算日平均氣溫

大部分高級(jí)語言都提供了對(duì)批量數(shù)據(jù)在程序中進(jìn)行表示的方法,最常見的是數(shù)組。Python語言則提供了更加便利的列表類型,可以應(yīng)用于一次處理多個(gè)數(shù)據(jù)對(duì)象的場(chǎng)合。創(chuàng)建一個(gè)列表,存儲(chǔ)該日觀測(cè)得到的氣溫?cái)?shù)據(jù)的語句如下:A計(jì)算日平均氣溫>>>t_Day=[10,13,18,12]小貼士Python語言中使用列表來表示批量數(shù)據(jù)。列表用“[]”表示。其中每一項(xiàng)可以是任意數(shù)據(jù)類型的數(shù)據(jù)項(xiàng),各數(shù)據(jù)項(xiàng)之間用逗號(hào)分隔。通過賦值運(yùn)算可以創(chuàng)建列表:

L=[]#創(chuàng)建一個(gè)空的列表LA計(jì)算日平均氣溫小貼士Python語言中使用列表來表示批量數(shù)據(jù)。列表用“[]”表示。其中每一項(xiàng)可以是任意數(shù)據(jù)類型的數(shù)據(jù)項(xiàng),各數(shù)據(jù)項(xiàng)之間用逗號(hào)分隔。通過賦值運(yùn)算可以創(chuàng)建列表:

L=[]#創(chuàng)建一個(gè)空的列表LA計(jì)算日平均氣溫

內(nèi)置函數(shù)sum的作用是求列表中數(shù)值數(shù)據(jù)的累加和,內(nèi)置函數(shù)len的作用是求列表中數(shù)據(jù)項(xiàng)的個(gè)數(shù)。有統(tǒng)計(jì)功能的內(nèi)置函數(shù)還有max、min等。A計(jì)算日平均氣溫A計(jì)算日平均氣溫>>>t_Day=[10,13,18,12]>>>avg=(t_Day[0]+t_Day[1]+t_Day[2]+t_Day[3])/4 >>>avg13.25方法1:使用算術(shù)表達(dá)式計(jì)算A計(jì)算日平均氣溫方法2:使用內(nèi)置函數(shù)計(jì)算>>>t_Day=[10,13,18,12]>>>avg=sum(t_Day)/len(t-Day) >>>avg13.25

在Python語言的列表中,各數(shù)據(jù)項(xiàng)順序排列,并允許按下標(biāo)訪問。下標(biāo)是一個(gè)整數(shù),有效范圍從0到列表的長度減1。t_Day[0]表示列表中的第一個(gè)數(shù)據(jù)項(xiàng),t_Day[i]表示列表的第i+1個(gè)數(shù)據(jù)項(xiàng)。通過訪問數(shù)據(jù)項(xiàng)可以讀取、修改數(shù)據(jù)的數(shù)據(jù)。A計(jì)算日平均氣溫B計(jì)算月平均氣溫問題:已知某市2013年8月的31個(gè)日平均氣溫?cái)?shù)據(jù)為:34,32,33,33,35,36,36,36,35,34,33,32,32,32,32,31,32,32,30,31,30,30,31,32,29,27,29,31,32,30,26,26,求該市2013年8月的月平均氣溫。B計(jì)算月平均氣溫使用Python語言的列表可以存儲(chǔ)以上31個(gè)氣溫?cái)?shù)據(jù)。>>>t_Day=[34,32,33,33,35,36,36,36,35,34,33,32,32,32,32,31,32,32,30,31,30,30,31,32,29,27,29,31,32,30,26,26]B計(jì)算月平均氣溫下標(biāo)訪問>>>s=0>>>n=0>>>

foriin

range(len(t_Day)):s=s+t_Day[i]n=n+1>>>avg=s/n>>>avgB計(jì)算月平均氣溫序列迭代訪問>>>s=0>>>n=0>>>forxint_Day:s=s+xn=n+1>>>avg=s/n>>>avgC使用用戶自定義函數(shù)計(jì)算平均值用戶自定義函數(shù):由用戶自己編寫的、能夠?qū)崿F(xiàn)獨(dú)立功能的語句塊。C使用用戶自定義函數(shù)計(jì)算平均值>>>

def

getAvg(L): return

sum(L)/len(L)>>>avg=getAvg(t_Day)>>>avg31.67741934838708C使用用戶自定義函數(shù)計(jì)算平均值函數(shù)定義的一般形式:def函數(shù)名(<參數(shù)>):函數(shù)體

首先,新建文本文件“201308tq.txt”,將31個(gè)日平均氣溫?cái)?shù)據(jù)依次輸入,每行一個(gè)數(shù)據(jù)。然后,在PythonShell中讀取存儲(chǔ)在文件“201308tq.txt”中的氣溫?cái)?shù)據(jù)到列表L中。D讀取文件中的數(shù)據(jù)到列表D讀取文件中的數(shù)據(jù)到列表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論