حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
آموزش الگوریتم و حل مسئله با پایتون؛ تمرین عملی

قرارداد ورودی و خروجی الگوریتم در پایتون

تحلیل الگوریتم در پایتون؛ از قرارداد تا شمارش عملیات · 0٪

الگوریتم یعنی یک مسیر روشن برای رسیدن از ورودی به جواب. قبل از حلقه و شرط، باید معلوم کنیم چه چیزی می‌گیریم و دقیقاً چه چیزی برمی‌گردونیم. برای تابع جمع قیمت‌ها، ورودی یک فهرست عددی و خروجی یک عدد است؛ برای پیدا کردن جای یک کالا، خروجی می‌تونه شماره خانه باشد. این دو قرارداد قابل جایگزینی نیستند، حتی اگر هر دو برنامه اجرا شوند.

مثلاً قرارداد زیر می‌گه فهرست خالی هم ورودی مجاز است و جمعش صفر می‌شود:

def total_cost(prices):
    total = 0
    for price in prices:
        total += price
    return total

print(total_cost([4, 7, 2]))  # 13
print(total_cost([]))         # 0

توی تمرین‌های این دوره، جواب را با return تحویل می‌دیم؛ چاپ کردن جای آن را نمی‌گیره. شماره خانه‌ها از صفر شروع می‌شوند. فقط نوع ورودی گفته‌شده را در نظر بگیر؛ لازم نیست برای هر نوع نامعتبر یک رفتار تازه اختراع کنی. خطای رایج اینه که رفتار حالت خالی را به شانس بسپاریم و بعد وسط کد تصمیم بگیریم. ✍️ قرارداد خوب حتی قبل از اجرا، قابل آزمون است.

فعالیت شما

تفاوت ورودی، خروجی و چاپ را توضیح بده؛ در مثال total_cost ورودی فهرست اعداد، خروجی جمع عددی و جواب ورودی خالی صفر است. این گام خواندنی است.

مطالعهٔ این گام برای همه آزاد است

برای پاسخ‌دادن، بررسی پاسخ، ثبت پیشرفت و استفاده از دستیار باید شرایط شرکت در فعالیت‌ها را داشته باشید.

برای انجام فعالیت وارد شوید

برای انجام فعالیت‌ها ابتدا این دوره‌های پیش‌نیاز را تکمیل کنید: