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

۵. تابع؛ یک محاسبه قابل استفاده دوباره

تابعی بنویس که جمع هزینه‌ها را برگرداند؛ فرق return و print را با دو روز خرید ببین.

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

همان کار، ورودی تازه

برای حساب هزینه شنبه و یکشنبه نباید حلقه را دوبار کپی کنی. تابع دستورهای یک کار را با یک نام نگه می‌دارد. def تابع را تعریف می‌کند؛ کد داخل آن وقتی اجرا می‌شود که نام تابع را با پرانتز صدا بزنی.

ورودی: لیست هزینه‌هاتابع: جمع‌زدنخروجی: یک عدد
نکس‌کد | قرارداد تابع: لیست می‌گیرد، عدد برمی‌گرداند.

نتیجه را پس بده

جمع هزینه‌های هر روز

تابع را برای یک لیست خالی و یک خرید هم امتحان کن.

main.pypython
def total_expenses(amounts):
    total = 0
    for amount in amounts:
        total += amount
    return total

saturday = total_expenses([45000, 30000])
sunday = total_expenses([25000])
print(saturday)
print(sunday)
print(saturday + sunday)
یک راهنمایی می‌خواهم

+= شکل کوتاه total = total + amount است.

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

return را بیرون for ولی داخل تابع نگه دار.

amounts پارامتر است: نام ورودی داخل تابع. لیستی که موقع صدا زدن می‌دهی آرگومان است. return عدد نهایی را برمی‌گرداند تا بتوانی آن را ذخیره کنی یا با عدد دیگری جمع بزنی. خروجی نمونه به ترتیب ۷۵۰۰۰، ۲۵۰۰۰ و ۱۰۰۰۰۰ است.

چاپ کردن با برگرداندن فرق دارد

اگر return را با print عوض کنی، تابع عدد را نشان می‌دهد اما نتیجه قابل استفاده برنمی‌گرداند؛ مقدار پیش‌فرض برگشتی None است. در این حالت جمع saturday و sunday خطا می‌دهد. اگر return را داخل حلقه بگذاری، تابع بعد از اولین خرید تمام می‌شود.

تمرین: تابع remaining_budget(budget, spent) را بساز. پاسخ بدنه: return budget - spent. برای ورودی‌های ۱۵۰۰۰۰ و ۱۰۰۰۰۰ باید ۵۰۰۰۰ برگرداند. برای ۱۵۰۰۰۰ و ۱۶۰۰۰۰ باید منفی ۱۰۰۰۰ بدهد؛ کسری هم یک نتیجه معتبر است.

ادامه مسیر