یاد بگیرید. بسازید.

۴. لیست و حلقه؛ جمع خریدهای یک روز

به‌جای تکرار دستی، سه هزینه را در یک لیست بگذار و با for جمع بزن؛ مقدار جمع را در هر دور دنبال کن.

نکس‌کد؛ پایتون از اولین خط تا پروژه مدیریت هزینه

چند هزینه، یک لیست

سه خرید ۴۵۰۰۰، ۳۰۰۰۰ و ۲۵۰۰۰ تومانی داری. لیست چند مقدار را به ترتیب نگه می‌دارد: [45000, 30000, 25000]. حلقه for یکی‌یکی سراغ این مقدارها می‌رود. هر بار، نام amount به مقدار همان دور اشاره می‌کند.

نکس‌کد | جمع از صفر شروع می‌شود: ۰ → ۴۵۰۰۰ → ۷۵۰۰۰ → ۱۰۰۰۰۰
نکس‌کد | جمع از صفر شروع می‌شود: ۰ → ۴۵۰۰۰ → ۷۵۰۰۰ → ۱۰۰۰۰۰

جمع را قدم‌به‌قدم ببین

جمع سه خرید

یک خرید دیگر به انتهای لیست اضافه کن.

main.pypython
expenses = [45000, 30000, 25000]
total = 0

for amount in expenses:
    total = total + amount
    print(f"جمع تا اینجا: {total}")

print(f"جمع روز: {total}")
یک راهنمایی می‌خواهم

total = 0 باید بیرون حلقه باشد.

راهنمایی بیشتر

برای افزودن خرید، مثلاً 10000 را با ویرگول به انتهای لیست اضافه کن.

سه خط اول خروجی حلقه، ۴۵۰۰۰، ۷۵۰۰۰ و ۱۰۰۰۰۰ هستند. خط آخر هم جمع روز ۱۰۰۰۰۰ را نشان می‌دهد. اگر total = 0 را داخل حلقه ببری، جمع در هر دور پاک می‌شود و فقط آخرین هزینه می‌ماند. print آخر تورفتگی ندارد، پس بعد از پایان حلقه اجرا می‌شود.

برداشتن، افزودن، شمردن

expenses[0] اولین هزینه است؛ شماره‌گذاری از صفر شروع می‌شود. expenses.append(10000) یک مقدار اضافه می‌کند و len(expenses) تعداد را می‌دهد. دسترسی به شماره‌ای که وجود ندارد IndexError می‌دهد. برای جمع ساده، بعد از فهم حلقه می‌توانی sum(expenses) بنویسی.

برای تکرار به تعداد معلوم، range(3) مقدارهای ۰، ۱ و ۲ را می‌دهد؛ انتهای بازه وارد نتیجه نمی‌شود. while تا وقتی شرط درست بماند تکرار می‌کند. اگر شرط هیچ‌وقت تغییر نکند، حلقه تمام نمی‌شود؛ فعلاً برای فهرست هزینه‌ها for کافی است.

تمرین: لیست را خالی کن. خروجی نهایی باید صفر باشد و هیچ خطی از داخل حلقه چاپ نشود. بعد ۱۰۰۰۰ را به لیست اصلی اضافه کن؛ جواب ۱۱۰۰۰۰ است.

ادامه مسیر