编写一个名为printTable()的函数,它接受字符串的列表的列表,将它显示在组织良好的表格中,每列右对齐。假定所有内层列表都包含同样数目的字符串。例如,该值可能看起来像这样: tableData = [['apples','oranges','cherries','banana'], ['Alice','Bob','Carol','David'], ['dogs','cats', 'moose','goose']] 下面是给出的代码及解释 #定义列表,用来保存每个内层列表(行)中的最长字符串长度,这样整列就有足够的宽度放下所有字符串了。
#定义每个内层列表(行)的宽度,用来遍历计算和打印。 rowWidth = len(tableData[0])//>>> rowWidth//4 #打印出tableData的行列宽度信息
#找出每行中最长的字符串宽度,然后保存在colWidth[i]中 for i in range(len(colWidth)): com = 0 for k in range(rowWidth): iflen(tableData[i][k]) > com: com =len(tableData[i][k]) colWidth[i] = com //>>> colWidth//[8, 5, 5] #按照格式使用.rjust()打印tableData
打印结果: apples Alice dogs oranges Bob cats cherries Carol moose banana David goose |
|