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科学计算环境推荐——Anaconda
Jun 30 Python
零基础写python爬虫之HTTP异常处理
Nov 05 Python
Python 自动刷博客浏览量实例代码
Jun 14 Python
Python多继承顺序实例分析
May 26 Python
pytorch使用Variable实现线性回归
May 21 Python
Python cookie的保存与读取、SSL讲解
Feb 17 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
Nov 02 Python
python 获取剪切板内容的两种方法
Nov 28 Python
Python创建文件夹与文件的快捷方法
Dec 08 Python
python 调用js的四种方式
Apr 11 Python
tensorflow+k-means聚类简单实现猫狗图像分类的方法
Apr 28 Python
教你怎么用python selenium实现自动化测试
May 27 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 会话(session 时间设定)使用入门代码
2008/06/05 PHP
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
在PHP上显示JFreechart画的统计图方法
2013/11/03 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
thinkphp如何获取客户端IP
2015/11/03 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
jquery ui resizable bug解决方法
2010/10/26 Javascript
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
jQuery获取iframe的document对象的方法
2014/10/10 Javascript
JavaScript语言对Unicode字符集的支持详解
2014/12/30 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
AngularJS实现的简单拖拽功能示例
2018/01/02 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
Python数据类型之List列表实例详解
2019/05/08 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
python 表格打印代码实例解析
2019/10/12 Python
台湾旅游网站:雄狮旅游网
2017/08/16 全球购物
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
总裁秘书岗位职责
2013/12/04 职场文书
环保专业大学生职业规划设计
2014/01/10 职场文书
总经理助理职责
2014/02/04 职场文书
文字自荐书范文
2014/02/10 职场文书
活动总结报告格式
2014/05/09 职场文书
教师一帮一活动总结
2014/07/08 职场文书
财产分割协议书范本
2014/11/03 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书