بکندباز

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

مثال‌ها:

  • تصویر زیر تنها یک پیکسل سفید دارد:
    [
    [[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 هستند.
  • اگر لیست داده شده شامل مقادیری خارج از محدوده باشد، باید آن‌ها را به نزدیک‌ترین مقدار معتبر تبدیل کنید.
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]]]
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]]]

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*