Comment j'ai créé ma première application Python PET (et ce que j'ai appris)

Linda Hamilton
Libérer: 2024-10-17 06:15:02
original
518 Les gens l'ont consulté

How I Built My First Python PET App (And What I Learned)

Bonjour, communauté DEV ! Je m'appelle Andre, un programmeur débutant passionné qui plonge dans le monde de Python. Après avoir lutté contre la motivation pendant quelques années, j'ai décidé de me concentrer sur la construction de vrais projets. Aujourd'hui, je souhaite partager mon histoire sur la création de mon tout premier projet Python : une application Personal Expense Tracker (PET). (code à la fin)

Le Personal Expense Tracker est une application en ligne de commande conçue pour aider les utilisateurs à enregistrer leurs dépenses quotidiennes, à les catégoriser et à mieux comprendre leurs habitudes de dépenses. Mon objectif était de créer un outil permettant aux utilisateurs de prendre le contrôle de leurs finances. (et le mien ! ahah)

L'un des défis les plus importants auxquels j'ai été confronté a été de trouver comment stocker efficacement les données de dépenses. J'ai d'abord eu du mal avec la gestion des fichiers en Python, mais après un peu de persévérance, j'ai finalement implémenté une solution qui fonctionne !

Grâce à ce projet, j'ai appris l'importance de la validation des entrées des utilisateurs et de garantir que les données sont enregistrées de manière cohérente. J'ai également acquis une précieuse expérience dans la gestion de fichiers en Python pour stocker et récupérer les enregistrements de dépenses.

Pour l'avenir, je prévois d'intégrer des fonctionnalités de visualisation de données pour aider les utilisateurs à voir visuellement leurs habitudes de dépenses. De plus, je suis ravi de mettre en œuvre un outil de budgétisation qui permet aux utilisateurs de définir des limites de dépenses par catégorie.

Terminer le Personal Expense Tracker a été une expérience incroyablement enrichissante, renforçant ma confiance en tant que développeur. J'ai hâte de poursuivre mon parcours d'apprentissage dans le développement backend et DevOps, avec d'autres projets à l'horizon !

J’aimerais entendre vos commentaires ! Si vous avez créé quelque chose de similaire ou si vous avez des conseils pour améliorer le suivi des dépenses, partagez vos idées !

`

def pet() :
print("Bienvenue chez PET!")
print("Votre suivi des dépenses personnelles, vous aidant à suivre vos dépenses.")
print("Catégories de dépenses :")
print("[1] Alimentation et épicerie")
print("[2] Transports (carburant, transports publics, etc...)")
print("[3] Utilitaires (Électricité, Eau, Internet, etc...)")
print("[4] Divertissements et loisirs")
print("[5] Frais de santé et médicaux")
print("[6] Loyer et hypothèque")
print("[7] Divers (pour toutes dépenses non classées)")

categories = [
    "Food & Groceries",
    "Transportation (Fuel, Public Transportation, etc...)",
    "Utilities (Electricity, Water, Internet, etc...)",
    "Entertainment & Leisure",
    "Healthcare & Medical Expenses",
    "Rent & Mortgage",
    "Miscellaneous (for any uncategorized expenses)"
]

food = []
transportation = []
utilities = []
entertainment = []
healthcare = []
rent = []
miscs = []

while True:
    while True:
        try:
            choice = int(input("Select category: "))
            if 1 <= choice <= 7:
                break
            else:
                raise ValueError
        except ValueError:
            return "Choose a valid category!"

    while True:
            try:
                amount = float(input("Amount: "))
                break
            except ValueError:
                return "Invalid number! Enter the amount of the expense."

    if choice == 1:
        food.append(amount)
        print(f"${amount} added to {categories[0]}")
    elif choice == 2:
        transportation.append(amount)
        print(f"${amount} added to {categories[1]}")
    elif choice == 3:
        utilities.append(amount)
        print(f"${amount} added to {categories[2]}")
    elif choice == 4:
        entertainment.append(amount)
        print(f"${amount} added to {categories[3]}")
    elif choice == 5:
        healthcare.append(amount)
        print(f"${amount} added to {categories[4]}")
    elif choice == 6:
        rent.append(amount)
        print(f"${amount} added to {categories[5]}")
    elif choice == 7:
        miscs.append(amount)
        print(f"${amount} added to {categories[6]}")

    option = input("Do you want to add another expense? (Y/N)").lower()

    if option != 'y':
        break
    else: 
        continue

food_total = sum(food)
transportation_total = sum(transportation)
utilities_total = sum(utilities)
entertainment_total = sum(entertainment)
healthcare_total = sum(healthcare)
rent_total = sum(rent)
miscs_total = sum(miscs)

print("Options:")
print("[1] View total spent")
print("[2] View total per category")

while True:
    try:
        show_expenses = int(input("Choose an option: "))
        if 1 <= show_expenses <= 2:
            break
        else:
            raise ValueError
    except ValueError:
        return "Invalid! Insert a valid option."

if show_expenses == 1:
    total_expenses = food_total + transportation_total + utilities_total + entertainment_total + healthcare_total + rent_total + miscs_total
    print(f"Your total expenses: ${total_expenses}")
elif show_expenses == 2:
    print(f"{categories[0]} total is: ${food_total}")
    print(f"{categories[1]} total is: ${transportation_total}")
    print(f"{categories[2]} total is: ${utilities_total}")
    print(f"{categories[3]} total is: ${entertainment_total}")
    print(f"{categories[4]} total is: ${healthcare_total}")
    print(f"{categories[5]} total is: ${rent_total}")
    print(f"{categories[6]} total is: ${miscs_total}")
Copier après la connexion

animal de compagnie()

`

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!

source:dev.to
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!