.لینکهای مفید برای شرکت در مسابقه:
میتوانید سوالهای خود را در رابطه با سوالات و دیگر بخشهای پایتون از قسمت "سوال بپرسید" مطرح کنید.
توجه کنید که نسخه پایتون استفاده در سوالات ۳.۷ است. سری سوم راهنماییها به مرور به سوالات اضافه میشوند.
میخواهیم تابعی بنویسیم که کارش چک کردن شرایط تعریف شده برای اشیاء (objects) مورد نظر است.
کریم کچل، شطرنجباز حرفهای محله است که بعد از شرایط کرونا خود را در خانه قرنطینه کرده. اما متاسفانه مهرههای شطرنجش را گم کرده و بابت شرایط کرونا نمیتواند مهرهها را از بیرون سفارش دهد و تصمیم گرفته که با میوههایی که در خانه دارد مهرهها را بسازد. او میفهمد که هر میوهای را نمیتواند به عنوان مهرهی شطرنج استفاده کند و تنها میوههای خوب را میتواند به عنوان مهرهی شطرنج استفاده کند.
میوهای خوب است که شرایط زیر را داشته باشد:
توجه کنید که جرم میوههای خوب، خود اعداد ۳۰۰ و ۶۰۰ و حجم آن، خود اعداد ۱۰۰ و ۵۰۰ هم میتواند باشد.
حال شما باید تابعی بنویسید که با گرفتن لیستی از میوهها، مشخص کند از هر نوع میوه چند تای آن خوب است.
fruits
باشد به عنوان ورودی لیستی(tuple) از لغتنامهها(Dictionary) دریافت میکند که هر لغتنامه اطلاعات مربوط به یک میوه میباشد. این تابع در نهایت باید تعداد هر کدام از میوههای خوب را در قالب یک لغتنامه برگرداند. name
و shape
و جرم و حجم هر میوه به ترتیب با عنوان mass
و volume
در یک لغتنامه ذخیره شده است. نام میوه | شکل | جرم | حجم | وضیعت |
---|---|---|---|---|
سیب | کروی | ۳۵۰ | ۱۲۰ | میوه خوب |
انبه | مربعی | ۱۵۰ | ۱۲۰ | میوه بد |
لیمو | کروی | ۳۰۰ | ۱۰۰ | میوه خوب |
سیب | کروی | ۵۰۰ | ۲۵۰ | میوه خوب |
سیستم داوری برای ورودی دادن میوههای بالا به تابع fruits
این تابع را به صورت زیر صدا میزند.
در بین این میوهها، سه تا میوه خوب وجود دارد که ۲ تای آنها سیب، و یکی از آنها لیمو است. خروجی تابع شما به ازای چنین چیزی باید یک لغتنامه به صورت زیر باشد:
ساختار تابع شما باید به شکل زیر باشد:
fruits
به شکل گفته شده وجود داشته باشد.در این قسمت راهنماییهای سوال به ترتیب در روزهای شنبه، دوشنبه و چهارشنبه ساعت ۱۸ اضافه میشود. مشکلاتتان در راستای حل سوال را میتوانید از بخش "سوال بپرسید" مطرح کنید.
در قدم اول، سوال را ساده میکنیم و فرض میکنیم که میخواهیم تابعی بنویسیم که یک میوه را در قالب یک کتابخانه ورودی میگیرد و بررسی میکند خوب است یا نه.
برای این کار تلاش میکنیم چنین تابعی را با توجه به شرایط سوال کامل کنیم:
اگر چنین تابعی را داشته باشیم میتوانیم میوهها را تکتک به آن بدهیم و بررسی کنیم خوب هستند یا نه.
تابع is_good
را به شکل زیر پیادهسازی میکنیم
حالا باید در تابع خواسته شده در سوال تک به تک میوه ها رو با این روش بررسی کنیم تا ببینیم خوب هستند یا نه و لغتنامهمان را آپدیت کنیم:
حالا که هم میتونیم میوههای خوب و بد رو از هم تشخیص بدیم و تک تک میوههامون رو هم بهش میدیم وقت این شده که لغتنامهمان را آپدیت کنیم!
برای اینکار اول چک میکنیم ببینیم میوه خوبمون وجود داره تو لغتنامه یا نه اگر از قبل وجود داشتش به مقدارش یدونه اضافه میکنیم اگر هم وجود نداشت با مقدار یک به لغتنامهمان اضافهش میکنیم!
در نهایت کدمون مثل کد پایین میشه:
موفق باشید :دی