亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python 表格打印

發布時間:2020-05-29 11:57:27 來源:網絡 閱讀:842 作者:網絡大神經 欄目:編程語言

Python編程快速上手實踐項目題目,歡迎指證與優化!
編寫一個名為 printTable()的函數, 它接受字符串的列表的列表,將它顯示在組
織良好的表格中, 每列右對齊。假定所有內層列表都包含同樣數目的字符串。例如,
該值可能看起來像這樣:
tableData = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
你的 printTable()函數將打印出:
Python 表格打印
思路一:
1.計算列表中(包括內部列表)最長元素的長度;
2.以最長元素的長度值作為全局右對齊的值打印列表
代碼:

import copy
tableData = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob1111111111111', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
def count_width(the_list):
    #定義函數:計算列表字符串最長值
    new_list=copy.deepcopy(the_list)
    #復制列表保存到獨立的新列表
    colWidths = [0] * len(new_list)
    #創建一個列表,數目等同于tableData
    i=0
    while i < len(new_list):
        new_list[i].sort(key = lambda i:len(i),reverse = True)
        '''重新按照字符長度逆序(從大到小),lamba表示匿名函數,key = lambda i:len(i)代表
           以元素i的len()值作為比較
        '''
        colWidths[i]=new_list[i][0]
      #  print (colWidths[i])
        i=i+1
    #將tableData[i]降序排序,取最大值(第一個),得到一個每個內層列表中最長的字符串的列表
    colWidths.sort(key = lambda i:len(i),reverse = True)
    width=len(colWidths[0])
    #將colWidths降序排序,取最大值(第一個)并計算其字符寬度
    #print (width)
    #print (the_list)
    #print (new_list)
    return width

def list_rjust(the_list,width):
    for j in range (len(the_list[0])):
        for i in range (len(the_list)):
            print(the_list[i][j].rjust(width),end=" ")
        print("\r")
list_rjust(tableData,count_width(tableData))

思路二:
1.計算列表(數組,沒有嵌套數組)最長元素的值;
2.按照列表最長元素的值打印列表(每列的最長值可能不同)
代碼:

tableDate=[['apples', 'oranges', 'cherries', 'banana'],
           ['Alice', 'Bob', 'Carol', 'David'],
           ['dogs', 'cats', 'moose', 'goose']]
def findmaxlen(Dates):
    '''
    計算一個數組中最長元素的長度
    '''
    maxlen=0
    for i in range(len(Dates)):
        if len(Dates[i])>maxlen:
            maxlen=len(Dates[i])
    return maxlen
#print(findmaxlen(tableDate[0]))

def printTable(the_list):
    for j in range (len(the_list[0])):#打印內部數組的第j個
        for i in range (len(the_list)):#打印數組的第i個
            print(the_list[i][j].rjust(findmaxlen(the_list[i])),end=' ')
            #打印第i個數組的第j個內部數組時,按照第i個數組中的元素最長值右對齊
        print("\r")
printTable(tableDate)
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汕尾市| 新乐市| 乐平市| 长治县| 巨野县| 化州市| 南漳县| 淮阳县| 章丘市| 巴彦淖尔市| 合作市| 威海市| 澳门| 兴山县| 铜山县| 子长县| 盘山县| 晋江市| 信宜市| 九江县| 凌源市| 宿州市| 陈巴尔虎旗| 新丰县| 五河县| 温州市| 丰县| 东港市| 滦南县| 伊宁市| 天峨县| 沭阳县| 沧源| 双流县| 阳东县| 东海县| 贵州省| 政和县| 富宁县| 临西县| 汶上县|