شطرنج میوه‌ای



می‌خواهیم تابعی بنویسیم که کارش چک کردن شرایط تعریف شده برای اشیاء (objects) مورد نظر است.


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

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

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

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

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

جزئیات🔗

  • تابع شما که باید به نام 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

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

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

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

def fruits(tuple_of_fruits):
   pass
Python

نکات🔗

  • برای ارسال باید یک فایل پایتون ارسال کنید که در آن تابع fruits به شکل گفته شده وجود داشته باشد.
  • می‌توانید فایل اولیه‌ی خام و کد تست‌ نمونه را با استفاده از این لینک دانلود کنید.
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.