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 *.
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    
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.
--Numéro d'index
--'{0} {1} {0}'. Format ('banane', 'pomme')
---> Banane Pomme Banane
'{:.2f}'.format(1.234567)*************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)
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