python编程快速上手之第6章实践项目答案。

本文针对Python编程中表格数据的打印进行了代码优化,解决了源代码中存在的问题,提供了一个更高效、更清晰的实现方式。文章对比了原始代码与优化后的代码,并展示了优化前后的输出结果,便于读者理解和学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python编程快速上手之第6章实践项目答案。

看到网上好多答案都不对,反正我是没有找到一个满意的答案,只找到一个很接近的,于是对代码进行优化。
源代码和我优化过的代码都附上,供大家参考。

这是源代码,有点问题,但思路值得借鉴。源代码链接:https://blog.youkuaiyun.com/do_care/article/details/79024539

def tablePrint(tableDate):
 #确定每列的宽度   
    columnWidth=[]
    for k in range(len(tableDate)):
        length=len(tableDate[k][0])
        for v in range(len(tableDate[0])):
            if len(tableDate[k][v])>length:
                length=len(tableDate[k][v])       
        length+=1
        columnWidth.append(length)
#排版对齐                         
    for k in range(len(tableDate[0])):
        new=tableDate[0][k].rjust(columnWidth[0])+' '
        for v in range(1,len(tableDate)):
            new=new+tableDate[v][k].ljust(columnWidth[v])
        print(new)
tableDateOne=[['apple','oranges','cherries','banana'],
           ['alice','bob','carol','david'],
           ['dogs','cats','moose','goose']]
tablePrint(tableDateOne)

经过本人优化后的代码如下:

tableData = [['apples', 'oranges', 'cherries', 'banana'],
             ['Alice', 'Bob', 'Carok', 'David'],
             ['dogs', 'cats', 'moose', 'goose']]
def Printtable(tableDate):
 #确定每列的宽度
    colWidth=[]
    for k in range(len(tableDate)):
        length = 0
        for v in range(len(tableDate[0])):
            if len(tableDate[k][v]) > length:
                length = len(tableDate[k][v])
        colWidth.append(length)
#排版对齐
    for k in range(len(tableDate[0])):
        for v in range(0, len(tableDate)):
            new = tableDate[v][k].rjust(colWidth[v])
            print(new, end=" ")
        print()
Printtable(tableData)

下面是输出结果对比,眼尖的同学应该能看出问题。
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值