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 图片验证码代码
Dec 07 Python
Python中使用PDB库调试程序
Apr 05 Python
python模拟事件触发机制详解
Jan 19 Python
Django中间件工作流程及写法实例代码
Feb 06 Python
python切片的步进、添加、连接简单操作示例
Jul 11 Python
Django models.py应用实现过程详解
Jul 29 Python
python输出带颜色字体实例方法
Sep 01 Python
深入理解Tensorflow中的masking和padding
Feb 24 Python
python实现密码强度校验
Mar 18 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
Apr 20 Python
在Mac中配置Python虚拟环境过程解析
Jun 22 Python
python 爬取豆瓣网页的示例
Apr 13 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边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
PHP实现将textarea的值根据回车换行拆分至数组
2015/06/10 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
2017/04/19 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
在Laravel中使用DataTables插件的方法
2018/05/29 PHP
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
JS 实现点击a标签的时候让其背景更换
2013/10/15 Javascript
js获取浏览器和屏幕的各种宽度高度
2017/02/22 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
2018/08/20 Javascript
微信小程序手机号码验证功能的实例代码
2018/08/28 Javascript
jquery实现图片放大镜效果
2020/12/23 jQuery
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
[01:02:04]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python封装shell命令实例分析
2015/05/05 Python
Python向日志输出中添加上下文信息
2017/05/24 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
2020/01/25 Python
Python pip配置国内源的方法
2020/02/14 Python
使用Keras训练好的.h5模型来测试一个实例
2020/07/06 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
Jack Rogers官网:美国经典的女性鞋靴品牌
2019/09/04 全球购物
护理专业毕业生自我鉴定
2013/10/08 职场文书
领导检查欢迎词
2014/01/14 职场文书
青年文明号事迹材料
2014/01/18 职场文书
工程开工庆典邀请函
2014/02/01 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
2014年银行员工年终自我评价
2014/09/19 职场文书
Python机器学习之逻辑回归
2021/05/11 Python
Redis+AOP+自定义注解实现限流
2022/06/28 Redis
win11自动弹出虚拟键盘怎么关闭? Win11关闭虚拟键盘的技巧
2023/01/09 数码科技