def printTable(tabledata):
import copy
td = copy.deepcopy(tabledata) #调用深度拷贝功能,构造一个和给定字符串列表结构相同的列表
cw = [0]*len(tabledata)
for i in range(len(tabledata)):
for j in range(len(tabledata[i])):
td[i][j] = (len(tabledata[i][j]))
for i in range(len(cw)):
cw[i] = max(td[i]) #把每一列字符串的最长字符串宽度输入cw中
for j in range(len(tabledata[0])): #个人认为这是本题的一个核心难点,下面是我目前想到的解决方法
print(tabledata[0][j].rjust(cw[0])+' '+tabledata[1][j].rjust(cw[1])+' '+tabledata[2][j].rjust(cw[2]))
tabledata = [['apples', 'oranges', 'cherries', 'banana'], ['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
printTable(tabledata)
这是本菜鸟目前想到的一种解题方案,各位如有更好的方法还请多多指点^ ^
|