项目:表格打印(字符图网格进阶、rjust、列表中最长的字符串长度)
2024-10-21 15:50:40
项目要求:编写一个名为 printTable()的函数,它接受字符串的列表的列表,将它显示在组织良好的表格中,每列右对齐。
tableData = [['apples', 'oranges', 'cherries', 'banana'],['Alice', 'Bob', 'Carol', 'David'],['dogs', 'cats', 'moose', 'goose']]
打印成以下格式
apple Alice dogs
oranges Bob cats
cherries Carol moose
banana David goose
与之前的字符图网格很类似
tableData = [['apple', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']] def printTable():
max_phy = []
for items in tableData:
max_char = len(max(items, key=len))
max_phy.append(max_char)
for j in range(len(tableData[0])):
for i in range(len(tableData)):
print(tableData[i][j].rjust(max_phy[i]), end=' ')
print()
printTable()
1. 定义一个空列表,用来tableData列表中,每个子列表里长度最大的那个
2. 假定列表里的小列表为items,以字符串长度(len)为key,求出每个items中最长的字符串长度
3. 将每个最大长度放入到空列表
4. 根据每个items中最大长度进行右对齐,每打印一个字符串结尾加空格
5. 当打印完一行,打印一个换行符
6. 求列表中最长的字符串长度还有一种写法(不知道是不是固定写法,去问一下)
tableData = [['apple', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']] def printTable():
max_phy = []
for item_out in tableData:
max_char = max(len(item_in) for item_in in item_out)
max_phy.append(max_char)
for j in range(len(tableData[0])):
for i in range(len(tableData)):
print(tableData[i][j].rjust(max_phy[i]), end=' ')
print()
printTable()
最新文章
- html中出现的script失效
- TCP/IP协议原理与应用笔记23:路由选择模块 和 路由表的设计
- getOutputStream() has already been called for this response异常的原因和解决方法
- Python并发实践_02_通过yield实现协程
- Docker防主机意外断电导致容器实例无法驱动解决方案:UPS || write barrier || 上btrfs定期snapshot
- 8051汇编:EQU指令
- Linux Ubuntu部署web环境及项目tomcat+jdk+mysql
- DownloadProvider 源码详细分析
- 尚硅谷springboot学习21-web开发-处理静态资源
- win10 任务栏锁定,win键没反应
- springmvc.xml 上传文件的配置
- android编译环境安装
- LOG4J spring与mybatis整合
- 【CQOI2017】小Q的棋盘
- 基于FPGA的异步FIFO设计
- 41、用Python实现一个二分查找的函数
- 复现IIS6.0远程命令执行漏洞
- JavaWeb_01_html基本学习
- dedecms常用标签
- kafka数据可靠性深度解读【转】