当前位置:嗨网首页>书籍在线阅读

29-表格输出

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

6.11.1 表格输出

编写一个名为 printTable() 的函数,它接收字符串的列表的列表,并将列表显示在组织良好的表格中,每列右对齐。假定所有内层列表都包含同样数目的字符串。例如,该值可能看起来像这样:

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

printTable() 函数将输出:

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

提示: 你的代码首先必须找到每个内层列表中最长的字符串,这样整列就有足够的宽度以放下所有字符串。你可以将每一列的最大宽度保存为一个整数的列表。 printTable() 函数的开始可以是 colWidths = [0] * len(tableData) ,这创建了一个列表,它包含了一些0,数目与 tableData 中内层列表的数目相同。这样, colWidths[0] 就可以保存 tableData[0] 中最长字符串的宽度, colWidths[1] 就可以保存 tableData[1] 中最长字符串的宽度,以此类推。然后可以找到 colWidths 列表中最大的值,决定将什么整数宽度传递给 rjust() 字符串方法。