Python程序開發(fā)基礎(chǔ) 課件 7任務(wù)2 格式數(shù)據(jù)-輸出楊輝三角形_第1頁
Python程序開發(fā)基礎(chǔ) 課件 7任務(wù)2 格式數(shù)據(jù)-輸出楊輝三角形_第2頁
Python程序開發(fā)基礎(chǔ) 課件 7任務(wù)2 格式數(shù)據(jù)-輸出楊輝三角形_第3頁
Python程序開發(fā)基礎(chǔ) 課件 7任務(wù)2 格式數(shù)據(jù)-輸出楊輝三角形_第4頁
Python程序開發(fā)基礎(chǔ) 課件 7任務(wù)2 格式數(shù)據(jù)-輸出楊輝三角形_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

格式數(shù)據(jù)-輸出楊輝三角形任務(wù)描述楊輝三角形,又稱賈憲三角形、帕斯卡三角形,是二項式系數(shù)在三角形中的一種幾何排列。下圖為楊輝三角的前7行,由于位于楊輝三角形兩個腰上的數(shù)都為1,其他位置上的數(shù)等于它肩上兩個數(shù)之和,基于楊輝三角形的這個特點,本任務(wù)擬采用二維數(shù)組輸出楊輝三角形。數(shù)據(jù)格式化01

從廣義上講,維度是與事物“有聯(lián)系”的概念的數(shù)量,根據(jù)“有聯(lián)系”的概念的數(shù)量,事物可分為不同維度。譬如:與線有聯(lián)系的概念為長度,因此線為一維事物;與長方形面積有關(guān)的概念為長度和寬度,因此面積為二維事物;與長方體體積有聯(lián)系的概念為長度、寬度和高度,因此體積為三維事物。

數(shù)據(jù)維度

數(shù)據(jù)維度即事物“有聯(lián)系”的概念的數(shù)量,它可分為多種不同維度。譬如:一維、二維、三維、四維、五維……根據(jù)組織數(shù)據(jù)時與數(shù)據(jù)有聯(lián)系的參數(shù)的數(shù)量,數(shù)據(jù)可分為一維數(shù)據(jù)、二維數(shù)據(jù)和多維數(shù)據(jù)。一維數(shù)據(jù):具有對等關(guān)系的一組線性數(shù)據(jù),如:一維列表、一維元組、集合等。二維數(shù)據(jù):二維數(shù)據(jù)關(guān)聯(lián)參數(shù)的數(shù)量為2,這類數(shù)據(jù)對應(yīng)到數(shù)學(xué)上就是矩陣和行列式,也即關(guān)系數(shù)據(jù)表,如:矩陣、二維數(shù)組、二維列表、二維元組等。多維數(shù)據(jù)在網(wǎng)絡(luò)應(yīng)用中非常常見,計算機(jī)中常見的多維數(shù)據(jù)格式有HTML、JSON等。如上節(jié)課的身份證碼值對照表就是典型的JSON格式。

數(shù)據(jù)存儲程序中與數(shù)據(jù)相關(guān)的操作分為數(shù)據(jù)的存儲與讀寫。數(shù)據(jù)通常存儲在文件中,為了方便后續(xù)的讀寫操作,數(shù)據(jù)通常需要按照約定的組織方式進(jìn)行存儲。一維數(shù)據(jù)呈線性排列,一般用特殊字符分隔,譬如:空格、逗號、&等。二維數(shù)據(jù)可視為多條一維數(shù)據(jù)的集合,當(dāng)二維數(shù)據(jù)只有一個元素時,這個二維數(shù)據(jù)就是一維數(shù)據(jù)。CSV是國際上通用的一維數(shù)據(jù)和二維數(shù)據(jù)存儲格式。CSV廣泛應(yīng)用于不同體系結(jié)構(gòu)下網(wǎng)絡(luò)應(yīng)用程序之間表格信息的交換中,它本身沒有明確的格式標(biāo)準(zhǔn),具體標(biāo)準(zhǔn)一般由傳輸雙方協(xié)商決定。

數(shù)據(jù)讀取與寫入Windows平臺中CSV文件的后綴名為.csv,可通過OfficeExcel或記事本打開。Python在程序中讀取.csv文件后會以二維列表形式存儲其中內(nèi)容。

將一維數(shù)據(jù)和二維數(shù)據(jù)寫入文件中,即按照數(shù)據(jù)的組織形式,在文件中添加新的數(shù)。

數(shù)據(jù)格式化為了直觀地表示多維數(shù)據(jù),方便組織和操作多維數(shù)據(jù),多維數(shù)據(jù)將統(tǒng)一采用鍵值對的形式進(jìn)行格式化。在網(wǎng)絡(luò)平臺上傳遞的數(shù)據(jù)大多是多維數(shù)據(jù),常見的數(shù)據(jù)格式就是JSON格式,它是一種輕量級的數(shù)據(jù)交換格式,本質(zhì)上是一種被格式化的字符串,易于閱讀和編寫,以及機(jī)器解析和生成。JSON以對象的形式表示數(shù)據(jù)。

JSON格式JSON格式的數(shù)據(jù)一般遵循以下語法規(guī)則:數(shù)據(jù)存儲在鍵值對(key:value)中;譬如:例如“姓名”:“張一山”。數(shù)據(jù)的字段由逗號分隔;譬如:“姓名”:“張一山”,“語文”:124。一個大括號保存一個JSON對象;譬如:{“姓名”:“張一山”,“語文”:“124”}。一個中括號保存一個數(shù)組;譬如:[{“姓名”:“張一山”,“語文”:“124”}]。

JSON模塊利用json模塊的dumps()函數(shù)和loads()函數(shù)可以實現(xiàn)Python對象和JSON數(shù)據(jù)之間的轉(zhuǎn)換,其功能如下表所示。函數(shù)功能dumps()對Python對象進(jìn)行轉(zhuǎn)碼,將其轉(zhuǎn)化為JSON字符串loads()將JSON字符串解析為Python對象Python對象與JSON數(shù)據(jù)轉(zhuǎn)化時的類型對照如下表所示。Python對象JSON數(shù)據(jù)dictobjectlist,tuplearraystr,unicodestringint,long,floatnumberTruetrueFalsefalseNonenull任務(wù)實現(xiàn)—輸出楊輝三角形02

根據(jù)題意,先定義二維數(shù)組a[N][N],N為常量,大于要打印的行數(shù)n。再將每行的第一個數(shù)和最后一個數(shù)賦值為1,即a[i][1]=a[i][i]=1。除了每行的第一個數(shù)和最后一個數(shù)外,每行上的其他數(shù)都為其肩上的兩數(shù)之和,即a[i][j]=a[i-1][j-1]+a[i-1][j]。

任務(wù)分析程序代碼#輸出楊輝三角形n=0a=[([0]*10)foriinrange(10)]#定義一個10×10的二維數(shù)組whilen<=0orn>10:#控制打印的行數(shù)n=int(input('請輸入楊輝三角行數(shù):'))print('打印%d行楊輝三角如下:'%n)#計算楊輝三角的數(shù)值并存入數(shù)組a中forrowinrange(1,n+1):a[row][1]=a[row][row]=1#每行兩邊的數(shù)為1forrowinrange(3,n+1):forcolinrange(2,(row-1)+1):#計算其他位置的值并存入二維數(shù)組a[row][col]=a[row-1][col-1]+a[row-1][col]#打印楊輝三角forrowinrange(1,n+1):forkinrange(1,(n-row)+1):print('',end='')#每行輸出前先打印兩個空格forcolinrange(1,row+1):print('%4d'%(a[row][col]),end='')print()

程序總結(jié)上述代碼中,定義row和col兩個變量分別表示楊輝三角形的行和列,變量n表示要打印的行數(shù)。在每行輸出之前,利用k循環(huán)先打印空格占位,使輸出更美觀。輸出楊輝三角形每一行之前先打印空格,之后再使用輸出每行中的數(shù)值。任務(wù)總結(jié)維度是與事物“有聯(lián)系”的概念的數(shù)量,根據(jù)“有聯(lián)系”的概念的數(shù)量,事

溫馨提示

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

評論

0/150

提交評論