Tirez pleinement parti de str.format de Python

J'étudie Python régulièrement à freeCodeCamp.

Dans l'article précédent (https://qiita.com/makky0620/items/73a566580b229c119675), j'ai défié * Time Calculator *, cette fois j'ai contesté * Budget App *.

Troisième question: Budget App

Ce qui est requis est le suivant

--Création d'une classe Category

*************Food*************
initial deposit        1000.00
groceries               -10.15
restaurant and more foo -15.89
Transfer to Clothing    -50.00
Total: 923.96

--create_spend_chart méthode: Afficher comme ci-dessous

Percentage spent by category
100|          
 90|          
 80|          
 70|          
 60| o        
 50| o        
 40| o        
 30| o        
 20| o  o     
 10| o  o  o  
  0| o  o  o  
    ----------
     F  C  A  
     o  l  u  
     o  o  t  
     d  t  o  
        h     
        i     
        n     
        g    

Point personnel: formatage avec format

Il est nécessaire d'utiliser pleinement la méthode str.format afin de bien organiser le format avec la méthode str et la méthode create_spend_chart de la classe Category.

Diverses spécifications de format

--Numéro d'index --'{0} {1} {0}'. Format ('banane', 'pomme') ---> Banane Pomme Banane

Implémentation de la méthode str de la méthode Category

*************Food*************  <-entête
initial deposit        1000.00 -|
groceries               -10.15  |-corps
restaurant and more foo -15.89  |
Transfer to Clothing    -50.00 -|
Total: 923.96                   <-total

Divisons-le en trois parties: en-tête, corps et total. Les conditions sont les suivantes

--L'en-tête est de 30 caractères

category_name = 'Food'
ledger = [...] #Liste des objets avec quantité et description

def __str__(self):
    header = '{:*^30}'.format(category_name)
    body = ['{:<23}{:>7.2f}'.format(item.description, item.amount) for item in ledger]
    total = sum([item.amount for item in ledger])

    return header + '\n' + '\n'.join(body) + '\n' + 'Total: {}'.format(total)

finalement

C'était rafraîchissant car je ne le visualise généralement pas avec la sortie de la console. Veuillez essayer la méthode create_spend_chart.

Le prochain numéro est * Polygon Area Calculator *.

Recommended Posts

Tirez pleinement parti de str.format de Python
Utilisation de virtualenv, un environnement d'exécution indépendant pour Python
Utilisation pratique d'ipython
Utilisation gracieuse de MySQLdb
Utilisons le wordcloud de python facilement!
Débarrassez-vous de KeyError de python
Utiliser la liaison MeCab de Python natto-py
Utilisation et intégration de "Shodan"
Compréhension complète du débogage Python