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

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

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

这是源代码,有点问题,但思路值得借鉴。源代码链接:https://blog.csdn.net/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)

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

猜你喜欢

转载自blog.csdn.net/qq_20667737/article/details/86583465
今日推荐