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

输入:

tableData = [[‘apple',‘orange',‘cherry',‘banana'],

[‘Alice',‘Bob',‘Cathy',‘David'],

[‘dog',‘cat',‘bird',‘duck']]

输出:

因此首先要找到每一个内层列表中最长的字符串长度,因为我们可以对比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博客!

python函数表格_python 6.7 编写printTable()函数表格打印(完整代码)相关推荐

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

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

  2. Python:制作一个模拟扔硬币的程序(附完整代码)

    Python:制作一个模拟扔硬币的程序(附完整代码) 在这个项目中,我们将编写一个Python程序来模拟扔硬币的方式.我们会使用Python内置的随机模块,实现随机出现正面或反面的效果. 首先,我们需 ...

  3. Java web+MySQL编写简易候选人投票(完整代码)

    Java web+MySQL编写简易候选人投票(完整代码) 代码实现效果,自己选的图片太大了,没有做更改,将就看就行 项目用到的三个jar包自己导入就行 代码结构如下图 Candidate中的代码 p ...

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

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

  5. python open 函数漏洞_Python系列之——编写已知漏洞exp实现批量getshell

    作者:奶权 前面一篇Python系列之--zzcms漏洞挖掘到exp编写相信大家应该都读过了 大家应该都觉得用程序实现自动化漏洞利用很爽吧 今天就来教一下大家怎么通过已知的漏洞编写exp 0x01 漏 ...

  6. python中和操作目录相关的函数包括_python文件和目录操作函数小结

    <python 与数据挖掘 > 一 导读 前 言为什么要写本书?Python是什么? Python是一种带有动态语义的.解释性的.面向对象的高级编程语言.其高级内置数据结构,结合动态类型和 ...

  7. python中sort函数源代码_Python中sort和sorted函数代码解析

    Python中sort和sorted函数代码解析 本文研究的主要是Python中sort和sorted函数的相关内容,具体如下. 一.sort函数 sort函数是序列的内部函数 函数原型: L.sor ...

  8. python如何读取数据并输出为表格_Python 爬取数据并导出表格

    从网站请求数据 要爬取数据,首先得用到Python的库,这里我直接选择了requests,其他库没有对比,也没有去了解,暂时不做讨论,以后如果有深入了解再补充吧. 安装requests pip ins ...

  9. python函数结构_PYTHON 之结构体,全局变量,函数参数,lambda编程 等

    PYTHON 之结构体,全局变量,函数参数,lambda编程 ,generator(yield)使用以及如何自己构建switch结构 *********************** pass pass ...

最新文章

  1. 论如何优雅地进行工作安排
  2. 文档生产工具 Doxygen
  3. java 扁平化_java8 stream flatMap流的扁平化操作
  4. 记sentinel里防止多并发下读取脏数据的操作
  5. BZOJ_1009_[HNOI2008]_GT考试_(动态规划+kmp+矩阵乘法优化+快速幂)
  6. Java命令行界面(第24部分):MarkUtils-CLI
  7. Oracle数据库版本维护支持结束时间表以及数据库版本发行时间表
  8. C#程序集Assembly学习随笔(增补版,附图)_AX
  9. 详述Visual Studio 代码远程开发扩展中的远程命令执行漏洞
  10. Leetcode 266.回文排列
  11. Windows找不到合适的打印机驱动程序
  12. github snap android,轻量级的viewpager指示器
  13. 特种浓缩分离:倒极电渗析技术工作原理介绍
  14. - **体感试衣镜等功能代码工程分享**
  15. 关于电视盒子/XBOX/手机使用kodi访问局域网下的windows电脑文件/电影
  16. Bosch SMI810 IMU传感器芯片驱动
  17. 大数据技术在电商的应用
  18. Google Android SDK开发范例大全
  19. 济南计算机机械工程学校,济南电子机械工程学校2021年招生简章
  20. a^n - b^n 的计算方式

热门文章

  1. LintCode 生成括号
  2. svn的使用总结(待补充)
  3. C#探秘系列(八)WPF数据绑定
  4. UVa 808 (建坐标系、找规律) Bee Breeding
  5. 38、C++ Primer 4th笔记,特殊工具与技术,嵌套类
  6. Lateral View使用指南
  7. UVa 12169 - Disgruntled Judge(拓展欧几里德)
  8. 05-UIDynamic
  9. 大话设计模式之原型模式
  10. seajs的模块化开发--实践笔记