日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
通過(guò)python實(shí)現(xiàn)printTable()的函數(shù)表格打印

本篇文章為大家講解一下通過(guò)python 6.7 編寫一個(gè)名為printTable()的函數(shù)表格打印具體方法,有需要的小伙伴可以參考一下。

編寫一個(gè)名為printTable()的函數(shù),它接受字符串的列表的列表,將它顯示在組織良好的表格中,每列右對(duì)齊。假定所有內(nèi)層列表都包含同樣數(shù)目的字符串 輸入:

tableData = [[‘a(chǎn)pple',‘orange',‘cherry',‘banana'],
[‘Alice',‘Bob',‘Cathy',‘David'],
[‘dog',‘cat',‘bird',‘duck']]

輸出:

因此首先要找到每一個(gè)內(nèi)層列表中最長(zhǎng)的字符串長(zhǎng)度,因?yàn)槲覀兛梢詫?duì)比tableData列表和輸出的截圖。不難發(fā)現(xiàn)輸出的第一行為內(nèi)層列表的首項(xiàng),第二行為每個(gè)內(nèi)層列表的第二項(xiàng);第一列為第一個(gè)內(nèi)置列表的所有項(xiàng)并且是右對(duì)齊(與最長(zhǎng)項(xiàng)對(duì)齊),因此:

colWidths = [0]*len(tableData)#colWidths列表中每個(gè)元素放置每個(gè)內(nèi)置列表的最長(zhǎng)字符串長(zhǎng)度
len1 = 0
#分別求列表的每一個(gè)內(nèi)置列表中最長(zhǎng)的字符串的長(zhǎng)度
for i in range(len(tableData)):
for j in range(len(tableData[i])):
 if len(tableData[i][j]) > colWidths[i]:#找最長(zhǎng)
  colWidths[i] = len(tableData[i][j])

其次我們可以看到,打印得到的結(jié)果為一個(gè)四行三列的表格,因此可以得出函數(shù)printTable()中可以有一個(gè)兩層的嵌套循環(huán),第一層循環(huán)長(zhǎng)度為4,第二層循環(huán)長(zhǎng)度為3。而tableData列表共有3個(gè)內(nèi)置列表,每個(gè)內(nèi)置列表共有4項(xiàng),因此可以以內(nèi)層列表的長(zhǎng)度為第一層循環(huán)長(zhǎng)度,外層列表的長(zhǎng)度為第二層循環(huán)的長(zhǎng)度。 同時(shí)表格的每一列均為右對(duì)齊,對(duì)齊標(biāo)準(zhǔn)為內(nèi)層列表的最長(zhǎng)項(xiàng)的長(zhǎng)度,因此每一次對(duì)齊參數(shù)可以直接使用colWidths對(duì)應(yīng)的值。

def printTable(List1,List2):
#第一層循環(huán)
for i in range(len(List1[0])):
 #第二層循環(huán)
 for j in range(len(List1)):
  print(List1[j][i].rjust(int(List2[j])),end=' ')
 print()

完整代碼

def printTable(List1,List2):
#第一層循環(huán)
for i in range(len(List1[0])):
 #第二層循環(huán)
 for j in range(len(List1)):
  print(List1[j][i].rjust(int(List2[j])),end=' ')#打印完一行再換行
 print()

tableData = [
['apples','oranges','cherries','banana'],
['Alice','Bod','Carol','David'],
['dogs','cats','moose','goose']
   ]
colWidths = [0]*len(tableData)#colWidths列表中每個(gè)元素放置每個(gè)內(nèi)置列表的最長(zhǎng)字符串長(zhǎng)度
len1 = 0
#分別求列表的每一個(gè)內(nèi)置列表中最長(zhǎng)的字符串的長(zhǎng)度
for i in range(len(tableData)):
for j in range(len(tableData[i])):
 if len(tableData[i][j]) > colWidths[i]:
  colWidths[i] = len(tableData[i][j])

printTable(tableData,colWidths)

網(wǎng)站題目:通過(guò)python實(shí)現(xiàn)printTable()的函數(shù)表格打印
本文URL:http://www.5511xx.com/article/coesocc.html