بکندباز

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

  • هر محصول (crop) برای رشد نیاز به منبع آب دارد.
  • هر منبع آب ("w") 8 خانه‌ی اطراف خود را آبیاری می‌کند.
  • هر محصول ("c") باید حداقل یک منبع آب در همسایگی خود داشته باشد.

تابعی بنویسید که بررسی کند آیا تمام محصولات آبیاری شده‌اند یا نه.
اگر همه‌ی محصولات آبیاری شده باشند، True برگردانید، در غیر این صورت False.

مثال

crop_hydrated([
  [ "c", "c", "c", "c" ],
  [ "w", "c", "c", "c" ],
  [ "c", "c", "c", "c" ],
  [ "c", "w", "c", "c" ]
]) ➞ False

نمونه ورودی و خروجی

crop_hydrated([["w", "w"], ["w", "c"], ["c", "c"], ["c", "w"], ["c", "w"]]) ➞ True

crop_hydrated([["c", "w", "w", "w", "c"], ["w", "c", "c", "c", "c"], ["c", "c", "c", "c", "c"], ["w", "c", "c", "w", "c"]]) ➞ True

crop_hydrated([["c", "c", "w", "c", "c", "w", "c", "w"]]) ➞ False

نکات:

  • اگر فقط یک “w” وجود داشته باشد، تابع True برمی‌گرداند.
  • اگر فقط یک “c” وجود داشته باشد، تابع False برمی‌گرداند.
  • محصولات باید حداقل یک منبع آب در مجاورت خود داشته باشند تا آبیاری شوند.
self.assertEqual(crop_hydrated([["w", "w"], ["w", "c"], ["c", "c"], ["c", "w"], ["c", "w"]]), True)
self.assertEqual(crop_hydrated([["c", "w", "w", "w", "c"], ["w", "c", "c", "c", "c"], ["c", "c", "c", "c", "c"], ["w", "c", "c", "w", "c"]]), True)
self.assertEqual(crop_hydrated([["c", "c", "w", "c", "c", "w", "c", "w"]]), False)
self.assertEqual(crop_hydrated([["c", "c", "c", "c", "c", "w", "c"], ["c", "w", "c", "c", "w", "c", "w"], ["c", "c", "c", "w", "c", "w", "c"], ["w", "w", "c", "c", "c", "c", "c"], ["c", "c", "w", "c", "c", "c", "c"], ["c", "c", "c", "c", "w", "c", "c"], ["w", "c", "c", "c", "c", "c", "c"], ["c", "c", "c", "c", "c", "c", "c"], ["w", "c", "c", "c", "c", "c", "w"]]), False)
self.assertEqual(crop_hydrated([["c", "c", "w", "w", "c", "c", "c"], ["c", "w", "c", "w", "w", "c", "w"], ["w", "w", "c", "w", "c", "c", "c"]]), True)
self.assertEqual(crop_hydrated([["c", "c", "c", "c", "c", "c"], ["c", "c", "c", "c", "c", "c"], ["w", "c", "c", "c", "c", "c"], ["c", "c", "c", "c", "c", "c"], ["c", "c", "c", "c", "c", "c"], ["c", "c", "c", "c", "c", "w"], ["c", "c", "c", "c", "w", "c"], ["c", "w", "w", "c", "c", "c"]]), False)
self.assertEqual(crop_hydrated([["c", "w", "c", "c", "w", "w"], ["c", "c", "w", "c", "c", "c"], ["w", "c", "c", "c", "c", "w"], ["c", "w", "c", "c", "c", "c"], ["c", "c", "c", "c", "w", "w"]]), True)
self.assertEqual(crop_hydrated([["c", "w", "c", "c"], ["w", "c", "c", "c"], ["c", "c", "c", "c"], ["w", "c", "c", "c"], ["w", "w", "c", "c"], ["c", "w", "c", "c"], ["c", "c", "w", "c"], ["c", "c", "w", "w"], ["c", "c", "c", "w"]]), False)

پاسخ های کاربران به این تمرین

MarsBoy
امتیاز:‌ 6798
تصحیح اتوماتیک 0 0
‎پایتون‎
3 اسفند 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

Amin
امتیاز:‌ 20573
تصحیح اتوماتیک 0 0
‎پایتون‎
2 اسفند 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

نظرات

*
*

تمرینات مرتبط