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解析html开发库pyquery使用方法
Feb 07 Python
python简单的函数定义和用法实例
May 07 Python
python登录豆瓣并发帖的方法
Jul 08 Python
python判断字符串编码的简单实现方法(使用chardet)
Jul 01 Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
Apr 15 Python
Python实现备份MySQL数据库的方法示例
Jan 11 Python
微信跳一跳python自动代码解读1.0
Jan 12 Python
pycharm安装和首次使用教程
Aug 27 Python
python使用celery实现异步任务执行的例子
Aug 28 Python
基于Python实现扑克牌面试题
Dec 11 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
Nov 30 Python
OpenCV+Python3.5 简易手势识别的实现
Dec 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 VS ASP
2006/10/09 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
javascript语言结构小记(一)
2011/09/10 Javascript
一个简单的js树形菜单
2011/12/09 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
jQuery基于muipicker实现仿ios时间选择
2016/02/22 Javascript
js中获取jsp表单中radio类型的值简单实例
2016/08/15 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
javascript遍历json对象的key和任意js对象属性实例
2017/03/09 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
vue拦截器实现统一token,并兼容IE9验证功能
2018/04/26 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
Vuex的actions属性的具体使用
2019/04/14 Javascript
vue项目中实现缓存的最佳方案详解
2019/07/11 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
Python爬取Coursera课程资源的详细过程
2014/11/04 Python
Python正则表达式知识汇总
2017/09/22 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
python引入不同文件夹下的自定义模块方法
2018/10/27 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
HTML5拖放效果的实现代码
2016/11/17 HTML / CSS
怎样在程序里获得一个空指针
2015/01/24 面试题
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2014年转正工作总结
2014/11/08 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python