pythonクイックプログラミング--表の印刷

1890 ワード

printTable()関数という名前の文字列を受信するリストを作成するリストは、各列が右揃えに配置された組織化されたテーブルに表示されます.すべての内層リストに同じ数の文字列が含まれていると仮定します.たとえば、
tableDate=[['apples', 'oranges', 'cherries', 'banana'],
           ['Alice', 'Bob', 'Carol', 'David'],
           ['dogs', 'cats', 'moose', 'goose']]

あなたの関数は印刷されます
       apples     Alice      dogs
      oranges       Bob      cats
     cherries     Carol     moose
       banana     David     goose
#! /usr/bin/python3

tableDate=[['apples', 'oranges', 'cherries', 'banana'],
           ['Alice', 'Bob', 'Carol', 'David'],
           ['dogs', 'cats', 'moose', 'goose']]

def maxStr(Str):
    maxLen = 0
    for i in range(len(Str)):
        if len(Str[i]) > maxLen:
           maxLen = len(Str[i])
        else:
           pass
    return maxLen

def printTable(tableData):
    for column in range(len(tableData[0])):
        for row in range(len(tableDate)):
            print(tableData[row][column].rjust(maxStr(tableData[row])+5),end='')
        print()



printTable(tableDate)

apples Alice dogs
oranges Bob cats
cherries Carol moose
banana David goose