Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Saya Membina Apl PET Python Pertama Saya (Dan Apa yang Saya Pelajari)

Bagaimana Saya Membina Apl PET Python Pertama Saya (Dan Apa yang Saya Pelajari)

Linda Hamilton
Linda Hamiltonasal
2024-10-17 06:15:02628semak imbas

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

Helo, komuniti DEV! Saya Andre, seorang pengaturcara pemula yang bersemangat menyelami dunia Python. Selepas bergelut dengan motivasi selama beberapa tahun, saya memutuskan untuk mengalihkan tumpuan saya kepada membina projek sebenar. Hari ini, saya ingin berkongsi kisah saya tentang mencipta projek Python pertama saya: apl Penjejak Perbelanjaan Peribadi (PET). (kod di hujung)

Penjejak Perbelanjaan Peribadi ialah aplikasi baris arahan yang direka untuk membantu pengguna mencatat perbelanjaan harian mereka, mengkategorikannya dan mendapatkan cerapan tentang tabiat perbelanjaan mereka. Matlamat saya adalah untuk mencipta alat yang memberi kuasa kepada pengguna untuk mengawal kewangan mereka. (dan saya! ahah)

Salah satu cabaran paling ketara yang saya hadapi ialah memikirkan cara menyimpan data perbelanjaan dengan berkesan. Saya pada mulanya bergelut dengan pengendalian fail dalam Python, tetapi selepas beberapa kegigihan, saya akhirnya melaksanakan penyelesaian yang berkesan!

Melalui projek ini, saya mempelajari kepentingan pengesahan input pengguna dan memastikan data direkodkan secara konsisten. Saya juga memperoleh pengalaman berharga dalam mengurus fail dalam Python untuk menyimpan dan mendapatkan semula rekod perbelanjaan.

Melihat ke hadapan, saya merancang untuk menyepadukan ciri visualisasi data untuk membantu pengguna melihat corak perbelanjaan mereka secara visual. Selain itu, saya teruja untuk melaksanakan alat belanjawan yang membolehkan pengguna menetapkan had perbelanjaan mengikut kategori.

Menyelesaikan Penjejak Perbelanjaan Peribadi telah menjadi pengalaman yang sangat menggembirakan, meningkatkan keyakinan saya sebagai pembangun. Saya tidak sabar-sabar untuk meneruskan perjalanan pembelajaran saya ke dalam pembangunan bahagian belakang dan DevOps, dengan lebih banyak projek di kaki langit!

Saya ingin mendengar maklum balas anda! Jika anda telah membina sesuatu yang serupa atau mempunyai petua untuk meningkatkan penjejak perbelanjaan, sila kongsikan pandangan anda!

`

def haiwan peliharaan():
print("Selamat datang ke PET!")
print("Penjejak Perbelanjaan Peribadi anda, membantu anda menjejaki perbelanjaan anda.")
print("Kategori Perbelanjaan:")
print("[1] Makanan & Barangan Runcit")
print("[2] Pengangkutan (Bahan Api, Pengangkutan Awam, dll...)")
print("[3] Utiliti (Elektrik, Air, Internet, dll...)")
print("[4] Hiburan & Kesenggangan")
print("[5] Perbelanjaan Penjagaan Kesihatan & Perubatan")
print("[6] Sewa & Gadai Janji")
print("[7] Pelbagai (untuk sebarang perbelanjaan tidak dikategorikan)")

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}")

haiwan peliharaan()

`

Atas ialah kandungan terperinci Bagaimana Saya Membina Apl PET Python Pertama Saya (Dan Apa yang Saya Pelajari). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn