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

میوه‌‌‌ای خوب است که شرایط زیر را داشته باشد:

  • شکل آن به صورت کروی (sphere) باشد.
  • جرم آن بین ۳۰۰ تا ۶۰۰ گرم باشد.
  • حجم آن بین ۱۰۰ تا ۵۰۰ سانتی‌متر مکعب باشد.

توجه کنید که جرم میوه‌های خوب، خود اعداد ۳۰۰ و ۶۰۰ و حجم آن، خود اعداد ۱۰۰ و ۵۰۰ ‌هم می‌تواند باشد.

حال شما باید تابع fruits را به گونه‌ای بنویسید که با گرفتن لیستی از میوه‌ها، مشخص کند از هر نوع میوه چندتای آن خوب است.

def fruits(tuple_of_fruits):
   pass
Python
solution.py

جزئیات

  • تابع شما که باید به نام fruits باشد به عنوان ورودی لیستی(tuple) از لغت‌نامه‌‌‌ها‌(Dictionary) دریافت می‌کند که هر لغت‌نامه اطلاعات مربوط به یک میوه می‌باشد. این تابع در نهایت باید تعداد هر کدام از میوه‌های خوب را در قالب یک لغت‌نامه برگرداند.
  • نام و شکل هر میوه به ترتیب با عنوان name و shape و جرم و حجم هر میوه به ترتیب با عنوان mass و volume در یک لغت‌نامه ذخیره شده‌ است.
  • فرض کنید ۴ عدد میوه به صورت زیر داریم:
نام میوه شکل جرم حجم وضیعت
سیب کروی ۳۵۰ ۱۲۰ میوه خوب
انبه مربعی ۱۵۰ ۱۲۰ میوه بد
لیمو کروی ۳۰۰ ۱۰۰ میوه خوب
سیب کروی ۵۰۰ ۲۵۰ میوه خوب

سیستم‌ داوری برای ورودی دادن میوه‌های بالا به تابع fruits این تابع را به صورت زیر صدا می‌زند.

output = fruits ((
    {'name':'apple', 'shape': 'sphere', 'mass': 350, 'volume': 120},
    {'name':'mango', 'shape': 'square', 'mass': 150, 'volume': 120}, 
    {'name':'lemon', 'shape': 'sphere', 'mass': 300, 'volume': 100},
    {'name':'apple', 'shape': 'sphere', 'mass': 500, 'volume': 250}))
Python
solution.py

در بین این میوه‌ها، سه تا میوه خوب وجود دارد که ۲ تای آن‌ها سیب، و یکی از آن‌ها لیمو است. خروجی تابع شما به ازای چنین چیزی باید یک لغت‌نامه به صورت زیر باشد:

{'apple': 2, 'lemon': 1}
Python
terminal

نکات

  • می‌توانید فایل اولیه این سوال را از این لینک دریافت کنید.
  • تابع شما نباید مقداری را چاپ کند، بلکه باید مقادیر مورد نظر را بازگرداند.

نحوه ارسال

شما باید تابع fruits موجود در فایل solution.py را تکمیل و سپس این فایل را ارسال کنید.


ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.