项目要求:编写一个名为 printTable()的函数,它接受字符串的列表的列表,将它显示在组织良好的表格中,每列右对齐。

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

打印成以下格式

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

与之前的字符图网格很类似

http://www.jdlhm.com/?p=960

tableData = [['apple', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']] def printTable():
max_phy = []
for items in tableData:
max_char = len(max(items, key=len))
max_phy.append(max_char)
for j in range(len(tableData[0])):
for i in range(len(tableData)):
print(tableData[i][j].rjust(max_phy[i]), end=' ')
print()
printTable()

1. 定义一个空列表,用来tableData列表中,每个子列表里长度最大的那个

2. 假定列表里的小列表为items,以字符串长度(len)为key,求出每个items中最长的字符串长度

3. 将每个最大长度放入到空列表

4. 根据每个items中最大长度进行右对齐,每打印一个字符串结尾加空格

5. 当打印完一行,打印一个换行符

6. 求列表中最长的字符串长度还有一种写法(不知道是不是固定写法,去问一下)

tableData = [['apple', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']] def printTable():
max_phy = []
for item_out in tableData:
max_char = max(len(item_in) for item_in in item_out)
max_phy.append(max_char)
for j in range(len(tableData[0])):
for i in range(len(tableData)):
print(tableData[i][j].rjust(max_phy[i]), end=' ')
print()
printTable()

最新文章

  1. html中出现的script失效
  2. TCP/IP协议原理与应用笔记23:路由选择模块 和 路由表的设计
  3. getOutputStream() has already been called for this response异常的原因和解决方法
  4. Python并发实践_02_通过yield实现协程
  5. Docker防主机意外断电导致容器实例无法驱动解决方案:UPS || write barrier || 上btrfs定期snapshot
  6. 8051汇编:EQU指令
  7. Linux Ubuntu部署web环境及项目tomcat+jdk+mysql
  8. DownloadProvider 源码详细分析
  9. 尚硅谷springboot学习21-web开发-处理静态资源
  10. win10 任务栏锁定,win键没反应
  11. springmvc.xml 上传文件的配置
  12. android编译环境安装
  13. LOG4J spring与mybatis整合
  14. 【CQOI2017】小Q的棋盘
  15. 基于FPGA的异步FIFO设计
  16. 41、用Python实现一个二分查找的函数
  17. 复现IIS6.0远程命令执行漏洞
  18. JavaWeb_01_html基本学习
  19. dedecms常用标签
  20. kafka数据可靠性深度解读【转】

热门文章

  1. Gradle 安装配置
  2. NVIDIA的GPU算力Compute Capalibity
  3. [USACO12FEB]Overplanting S
  4. docker的使用以及常用命令
  5. (一)REDIS之常见数据结构及操作
  6. 慢SQL
  7. PHP 中的类-什么叫类
  8. Linux中的虚拟文件系统
  9. Linux 压测及监控工具Nmon
  10. jadx 定位方法