سلام امیدوارم حال همه خوب باشه

اگر یه برنامه نویس پایتون هستید حتما این رو می دونید که در پایتون هیچ چیزی به نام میانگین وجود نداره!!!

و حالا می گید پس این آموزش چیه؟؟؟

ما در این آموزش یک تابع می سازیم که با دادن اعداد بهش اونهارو جمع می کنه و بعد تقسیم بر تعدادشون می کنه.

توجه: اگر شما برنامه نویسی پایتون را تازه شروع کرده اید این آموزش را به شما پیشنهاد نمی کنم

خب میریم سراغ آموزش.

اول یه تابع می سازیم به نام average (به معنی میانگین):

def average():
    pass

و حالا باید کاری کنیم که کاربر  بتونه اعداد رو به تابع بده، ولی ما که نمی دونیم کاربر می خواد میانگین چند تا عدد رو بگیره، پس از args استفاده می کنیم.

کد زیر رو داخل پرانتز تابع بالا بنویسید:

*args

نتیجه میشه این:

def average(*args):
    pass

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

ابتدا یک متغیر به اسم num ایجاد می کنیم و مقدارشو صفر قرار میدیم (دیگه به pass نیازی نداریم باید پاکش کنیم):

def average(*args):
    num = 0

و حالا باید از حلقه for استفاده کنیم تا تعدادی که کاربر میده رو از هم جدا کنیم و با هم جمع کنیم:

def average(*args):
    num = 0 
    for num_2 in args:
        num += num_2

و حالا باید حاصل به دست اومده رو تقسیم بر تعداد کنیم و اونو به کاربر بر گردونیم:

def average(*args):
    num = 0 
    for num_2 in args:
        num += num_2
    
    return num / len(args)

خب کارمون تموم شد حالا می تونیم به راحتی از این تابع استفاده کنیم:

def average(*args):
    num = 0 
    for num_2 in args:
        num += num_2
    
    return num / len(args)


print(average(10, 15, 60, 43))

که نتیجه میشه با ماشین حساب و به طور دستی میشه: 32

و در این تابعی که ما نوشتیم هم میشه: 32.0

این عالیه، ما تونستیم یک تابع بنویسیم که با دادن اعداد به هر تعدادی به اون میانگین رو به دست میاره.

نکته جالب اینه که تعداد اعدادی که به تابع میدید مهم نیست چون از args استفاده کردیم.

 

و حالا اگر فکر می کنید که این کد زیاد طولانی هست می تونید به این شکل سادش کنید:

def ave(*nums):
    return sum(nums) / len(nums)

این کد هم همئن کارو می کنه ولی خیلی کوتاه تر و بهتره (با تشکر از حمیدرضا بلوری).

 

توی لینک زیر می تونید پروژه های پایتونم رو مشاهده و دانلود کنید:

کلیک کنید

خداحافظ تا پست بعد...

 

https://virgool.io/@mskf