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二叉树的定义及常用遍历算法分析
Nov 24 Python
Python决策树之基于信息增益的特征选择示例
Jun 25 Python
对pycharm 修改程序运行所需内存详解
Dec 03 Python
Python 给屏幕打印信息加上颜色的实现方法
Apr 24 Python
Python实现京东秒杀功能代码
May 16 Python
在Python中使用MySQL--PyMySQL的基本使用方法
Nov 19 Python
pyinstaller还原python代码过程图解
Jan 08 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 Python
详解pycharm配置python解释器的问题
Oct 15 Python
Python3中PyQt5简单实现文件打开及保存
Jun 10 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实现股票趋势图和柱形图
2015/02/07 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
javascript编码的几个方法详细介绍
2013/01/06 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
Move.js入门
2017/02/08 Javascript
详解Angular 开发环境搭建
2017/06/22 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
vuex state及mapState的基础用法详解
2018/04/19 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
详解JavaScript中的Object.is()与"==="运算符总结
2020/06/17 Javascript
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
python写的一个文本编辑器
2014/01/23 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
2018/12/05 Python
详解Python函数式编程—高阶函数
2019/03/29 Python
python字符串替换第一个字符串的方法
2019/06/26 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
python中有关时间日期格式转换问题
2019/12/25 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
python 带时区的日期格式化操作
2020/10/23 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
ET Mall东森购物网:东森严选
2017/03/06 全球购物
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
婴儿鞋,独特的婴儿服装和配件:Zutano
2018/11/03 全球购物
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
如何实现jdbc性能优化
2012/07/30 面试题
环境科学专业个人求职信
2013/12/15 职场文书
特色冷饮店创业计划书
2014/01/28 职场文书
关于环保的建议书400字
2014/03/12 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
公司副总经理岗位职责
2015/04/08 职场文书
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python