تصاویر را میتوان بهصورت یک لیست سهبعدی توصیف کرد.
مثالها:
- تصویر زیر تنها یک پیکسل سفید دارد:
[ [[255, 255, 255]] ]
- این تصویر یک تصویر ۲ در ۲ کاملاً سیاه است:
[ [[0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0]] ]
وظیفهی شما این است که تابعی بنویسید که یک لیست سهبعدی بهعنوان تصویر دریافت کرده و معکوس آن را برگرداند. به این صورت که رنگ سفید به سیاه و سیاه به سفید تبدیل شود.
نمونه ورودی و خروجی
invert([[[255, 255, 255], [255, 255, 255]], [[255, 255, 255], [255, 255, 255]]]) ➞ [[[0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0]]]
invert([[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]) ➞ [[[255, 255, 255], [255, 255, 255], [255, 255, 255]], [[255, 255, 255], [255, 255, 255], [255, 255, 255]], [[255, 255, 255], [255, 255, 255], [255, 255, 255]]]
invert([[[0, 0, 255], [0, 0, 0], [0, 0, 157], [100, 229, 4]], [[100, 0, 3], [1, 100, 0], [0, 10, 0], [0, 168, 0]], [[16, 30, 0], [0, 125, 0], [15, 0, 9], [0, 139, 0]], [[200, 2, 0], [0, 125, 0], [0, 0, 9], [0, 200, 0]]]) ➞ [[[255, 255, 0], [255, 255, 255], [255, 255, 98], [155, 26, 251]], [[155, 255, 252], [254, 155, 255], [255, 245, 255], [255, 87, 255]], [[239, 225, 255], [255, 130, 255], [240, 255, 246], [255, 116, 255]], [[55, 253, 255], [255, 130, 255], [255, 255, 246], [255, 55, 255]]]
نکات:
- مقادیر معتبر برای رنگهای RGB بین 0 تا 255 هستند.
- اگر لیست داده شده شامل مقادیری خارج از محدوده باشد، باید آنها را به نزدیکترین مقدار معتبر تبدیل کنید.
self.assertEqual(invert([[[255, 255, 255], [255, 255, 255]], [[255, 255, 255], [255, 255, 255]]]), [[[0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0]]]) self.assertEqual(invert([[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]), [[[255, 255, 255], [255, 255, 255], [255, 255, 255]], [[255, 255, 255], [255, 255, 255], [255, 255, 255]], [[255, 255, 255], [255, 255, 255], [255, 255, 255]]]) self.assertEqual(invert([[[0, 0, 255], [0, 0, 0], [0, 0, 157], [100, 229, 4]], [[100, 0, 3], [1, 100, 0], [0, 10, 0], [0, 168, 0]], [[16, 30, 0], [0, 125, 0], [15, 0, 9], [0, 139, 0]], [[200, 2, 0], [0, 125, 0], [0, 0, 9], [0, 200, 0]]]), [[[255, 255, 0], [255, 255, 255], [255, 255, 98], [155, 26, 251]], [[155, 255, 252], [254, 155, 255], [255, 245, 255], [255, 87, 255]], [[239, 225, 255], [255, 130, 255], [240, 255, 246], [255, 116, 255]], [[55, 253, 255], [255, 130, 255], [255, 255, 246], [255, 55, 255]]]) self.assertEqual(invert([[[0, 255, 255], [256, 255, 255]], [[255, -1, 255], [255, 255, 255]]]), [[[255, 0, 0], [0, 0, 0]], [[0, 255, 0], [0, 0, 0]]])
پاسخ های کاربران به این تمرین
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
نظرات