python 6.7 编写printTable()函数表格打印(完整代码)


Posted in Python onMarch 25, 2020

编写一个名为printTable()的函数,它接受字符串的列表的列表,将它显示在组织良好的表格中,每列右对齐。假定所有内层列表都包含同样数目的字符串

输入:

tableData = [[‘apple',‘orange',‘cherry',‘banana'],
[‘Alice',‘Bob',‘Cathy',‘David'],
[‘dog',‘cat',‘bird',‘duck']]

输出:

python 6.7 编写printTable()函数表格打印(完整代码)

因此首先要找到每一个内层列表中最长的字符串长度,因为我们可以对比tableData列表和输出的截图。不难发现输出的第一行为内层列表的首项,第二行为每个内层列表的第二项;第一列为第一个内置列表的所有项并且是右对齐(与最长项对齐),因此:

colWidths = [0]*len(tableData)#colWidths列表中每个元素放置每个内置列表的最长字符串长度
len1 = 0
#分别求列表的每一个内置列表中最长的字符串的长度
for i in range(len(tableData)):
 for j in range(len(tableData[i])):
  if len(tableData[i][j]) > colWidths[i]:#找最长
   colWidths[i] = len(tableData[i][j])

其次我们可以看到,打印得到的结果为一个四行三列的表格,因此可以得出函数printTable()中可以有一个两层的嵌套循环,第一层循环长度为4,第二层循环长度为3。而tableData列表共有3个内置列表,每个内置列表共有4项,因此可以以内层列表的长度为第一层循环长度,外层列表的长度为第二层循环的长度。
同时表格的每一列均为右对齐,对齐标准为内层列表的最长项的长度,因此每一次对齐参数可以直接使用colWidths对应的值。

def printTable(List1,List2):
 #第一层循环
 for i in range(len(List1[0])):
  #第二层循环
  for j in range(len(List1)):
   print(List1[j][i].rjust(int(List2[j])),end=' ')
  print()

完整代码

def printTable(List1,List2):
 #第一层循环
 for i in range(len(List1[0])):
  #第二层循环
  for j in range(len(List1)):
   print(List1[j][i].rjust(int(List2[j])),end=' ')#打印完一行再换行
  print()

tableData = [
 ['apples','oranges','cherries','banana'],
 ['Alice','Bod','Carol','David'],
 ['dogs','cats','moose','goose']
    ]
colWidths = [0]*len(tableData)#colWidths列表中每个元素放置每个内置列表的最长字符串长度
len1 = 0
#分别求列表的每一个内置列表中最长的字符串的长度
for i in range(len(tableData)):
 for j in range(len(tableData[i])):
  if len(tableData[i][j]) > colWidths[i]:
   colWidths[i] = len(tableData[i][j])

printTable(tableData,colWidths)

总结

到此这篇关于python 6.7 编写一个名为printTable()的函数 表格打印的文章就介绍到这了,更多相关python printTable()函数 表格打印内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python的装饰器用法学习笔记
Jun 24 Python
python利用lxml读写xml格式的文件
Aug 10 Python
python中类和实例如何绑定属性与方法示例详解
Aug 18 Python
深入理解Python爬虫代理池服务
Feb 28 Python
python贪婪匹配以及多行匹配的实例讲解
Apr 19 Python
使用Python自动生成HTML的方法示例
Aug 06 Python
python线程中的同步问题及解决方法
Aug 29 Python
python如何使用socketserver模块实现并发聊天
Dec 14 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
Dec 17 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
May 26 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
Jun 14 Python
python如何实现DES加密
Sep 21 Python
python实现人机五子棋
Mar 25 #Python
pyqt5数据库使用详细教程(打包解决方案)
Mar 25 #Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
Mar 25 #Python
python自动下载图片的方法示例
Mar 25 #Python
Python短信轰炸的代码
Mar 25 #Python
PyQt5事件处理之定时在控件上显示信息的代码
Mar 25 #Python
基于Python计算圆周率pi代码实例
Mar 25 #Python
You might like
用PHP实现Ftp用户的在线管理
2012/02/16 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
限制复选框的最大可选数
2006/07/01 Javascript
js 模拟气泡屏保效果代码
2010/07/10 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
Javascript图片上传前的本地预览实例
2014/06/16 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
jquery利用json实现页面之间传值的实例解析
2016/12/12 Javascript
JS获取填报扩展单元格控件的值的解决办法
2017/07/14 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
2017/12/22 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
npm的lock机制解析
2019/06/20 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
2020/02/24 Javascript
js函数柯里化的方法和作用实例分析
2020/04/11 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
Python的Django框架中的表单处理示例
2015/07/17 Python
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
Python中staticmethod和classmethod的作用与区别
2018/10/11 Python
将python图片转为二进制文本的实例
2019/01/24 Python
Python pip替换为阿里源的方法步骤
2019/07/02 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
Python内存管理实例分析
2019/07/10 Python
Pandas DataFrame中的tuple元素遍历的实现
2019/10/23 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
施华洛世奇水晶荷兰官方网站:SWAROVSKI荷兰
2017/05/12 全球购物
师范应届生语文教师求职信
2013/10/29 职场文书
市场营销专科应届生求职信
2013/11/24 职场文书
自查自纠工作总结
2014/10/15 职场文书
2014年计生协会工作总结
2014/11/21 职场文书