Maison >développement back-end >Tutoriel Python >Démarrage rapide avec la programmation Python Chapitre 6 Code de référence du projet pratique

Démarrage rapide avec la programmation Python Chapitre 6 Code de référence du projet pratique

巴扎黑
巴扎黑original
2017-06-23 13:48:271884parcourir

Le code est le suivant :

Le sens de la question est d'afficher une liste de listes dans un tableau bien organisé via une fonction, avec chaque colonne alignée à droite

tableData = [['apples', 'oranges', 'cherries', 'banana'],
                 ['Alice', 'Bob', 'Carol', 'David'],
                 ['dogs', 'cats', 'moose', 'goose']]

'''

pommes Alice chiens
oranges Bob chats
cerises Carol orignal
banane David oie

'''

#Sortie chacun colonne alignée à droite, je pense que ça ne devrait pas l'être. Le dernier de la chaîne est-il aligné

# Mais ce n'est pas dans le livre ça m'a dérangé toute la nuit

def printTable(tableData):
    colWidths = [0] * len(tableData)
    col = []
    for i in range(0, len(tableData[0])):
        for j in range(0, len(colWidths)):
            col.append(len(tableData[j][i]))
        max_len = max(col)

    for i in range(0, len(tableData[0])):
        for j in range(0, len(colWidths)):
            print(tableData[j][i].rjust(max_len),end='')
        print()

if __name__ == '__main__':
    tableData = [['apples', 'oranges', 'cherries', 'banana'],
                 ['Alice', 'Bob', 'Carol', 'David'],
                 ['dogs', 'cats', 'moose', 'goose']]
    printTable(tableData)

----------------------------------------------------------------
----------------------------------------------------------------
pommes Alice chiens

oranges Bob chats
cerises Carol orignal
banane David oie

Le bon alignement de chaque colonne ne peut être que comme ça. Je ne peux pas penser à une meilleure solution. Si quelqu'un sait comment le résoudre, veuillez laisser un message

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn