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

مکعبی به شکل لیست تو در تو سه بعدی داریم که می‌خواهیم آن‌ را رنگ‌آمیزی کنیم. به این صورت که درایه‌هایی که در 6 وجه مکعب قرار می‌گیرند، رنگ شوند (مقدارشان برابر با 1 شود) و سایر درایه‌ها بی‌رنگ باشند (مقدارشان برابر با 0 باشد).

حال شما باید تابع coloring را به گونه‌ای تکمیل کنید که لیست مورد نظر را به عنوان ورودی بگیرد و درایه‌های آن را به گونه‌ای که گفته شد، تغییر دهد.

def coloring(ls):
    pass
Python
cube.py

نمونه

def coloring(ls):
    # your code here


matrix = [
            [
                [5, 5, 5],
                [5, 5, 5],
                [5, 5, 5]
            ],
            [
                [5, 5, 5],
                [5, 5, 5],
                [5, 5, 5]
            ],
            [
                [5, 5, 5],
                [5, 5, 5],
                [5, 5, 5]
            ]
        ]

coloring(matrix)

for i in range(len(matrix)):
    print("{}th layer:".format(i+1))
    for j in matrix[i]:
        for k in j:
            print(k, end=' ')
        print()
Python
cube.py

خروجی کد بالا باید به این شکل باشد:

1th layer:
1 1 1 
1 1 1 
1 1 1 
2th layer:
1 1 1 
1 0 1 
1 1 1 
3th layer:
1 1 1 
1 1 1 
1 1 1 
Python

نکات

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

نحوه ارسال

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


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