پاسخ تمرین انواع تابع از نظر ورودی

Please login to bookmark Close

پاسخ تمرین انواع تابع از نظر ورودی

در واقع، در این صفحه پاسخ تمرین انواع تابع از نظر ورودی را همراه با کد کامل و توضیح می‌بینید.

نام دورهدوره آموزش پایتون مقدماتی
درسنامهانواع تابع از نظر ورودی در پایتون
تمرین‌هامشاهده

پاسخ تمرین ۱ – ترتیبی و نامی

def introduce(name, city):
    return f"{name} اهل {city} است"

print(introduce("علی", "تهران"))
print(introduce(city="تهران", name="علی"))
print(introduce("تهران", "علی"))
علی اهل تهران است
علی اهل تهران است
تهران اهل علی است

بنابراین خط سوم خطا نمی‌دهد؛ فقط بی‌معنی است. پایتون نمی‌داند منظورتان چه بوده. به همین دلیل، در توابعی که چند ورودی هم‌نوع دارند، آرگومان نامی خیلی امن‌تر است.

پاسخ تمرین ۲ – میانگین با تعداد نامشخص

def average(*numbers):
    if not numbers:
        return 0
    return sum(numbers) / len(numbers)

print(average(10, 20))
print(average(10, 20, 30))
print(average(1, 2, 3, 4, 5))
15.0
20.0
3.0

همچنین، آن شرط if not numbers مهم است. اگر تابع را بدون ورودی صدا بزنید، بدون آن خطای ZeroDivisionError می‌گیرید.

پاسخ تمرین ۳ – مشخصات محصول

def show(**info):
    for key, value in info.items():
        print(f"{key} = {value}")

show(name="لپ‌تاپ", price=45000000, stock=3)
name = لپ‌تاپ
price = 45000000
stock = 3

دو ستاره یعنی همه‌ی ورودی‌های نامی را داخل یک دیکشنری بریز. یک ستاره هم یعنی همه‌ی ورودی‌های ترتیبی را داخل یک تاپل.

پاسخ تمرین ۴ – دام معروف

['سیب']
['سیب', 'موز']

مقدار پیش‌فرض فقط یک بار و در لحظه‌ی تعریف تابع ساخته می‌شود، نه در هر بار صدا زدن. پس هر دو صدا زدن، روی یک لیست مشترک کار می‌کنند.

def add_item(item, items=None):
    if items is None:
        items = []
    items.append(item)
    return items

این سؤال در مصاحبه‌های استخدامی خیلی زیاد پرسیده می‌شود. قاعده‌ی ساده: هرگز لیست، دیکشنری یا مجموعه را به عنوان مقدار پیش‌فرض نگذارید.

پاسخ تمرین ۵ – تعداد اشتباه

TypeError: introduce() missing 1 required positional argument: 'city'

پیام خطا دقیقاً می‌گوید کدام پارامتر جا مانده. همین یک خط، دلیل خوبی است برای اینکه اسم پارامترهایتان را معنادار بگذارید.

برای مطالعه‌ی بیشتر می‌توانید به مستندات رسمی پایتون سر بزنید.

Please login to bookmark Close
نظرات

دیدگاهتان را بنویسید

فهرست مطالب

سرفصل دوره

تمرین

این قسمت تمرین ندارد!

پاسخ تمرین ها

هنوز برای تمرین‌های این قسمت پاسخی ثبت نشده است!

اشتراک گذاری

چرا بهتره از فیلترشکن استفاده کنید؟

من همه ویدئو ها و پادکست های کُدباز رو توی یوتیوب و ساندکلود و پلتفرم هایی آپلود می‌کنم که اغلب فیلتر هستند.

اغلب آموزش‌ها ویدئو و پادکست دارند. پس اگر می‌خواهید از محتوای سایت بیشترین استفاده رو ببرید نیاز به فیلتر شکن دارید.

توجه داشته باشید که برای خرید از فروشگاه بهتره فیلتر شکن رو خاموش کنید.

تنظیمات

انتخاب زبان
تغییر تم