علی که برنامهنویسی به زبان پایتون را به تازگی شروع کرده و علاقه زیادی هم به مکعبها دارد، این سوال برایش پیشآمده که چه طور میتواند یک مکعب را رنگ کند. نحوه رنگآمیزی مکعب به این گونه است که خانههایی که در حداقل یکی از وجوه مکعب قرار دارند باید رنگ شوند و دیگر خانهها نباید رنگ شوند. با توجه به جزییات زیر به علی کمک کنید تا مکعبش را رنگ کند.
مکعبی به شکل لیست تو در تو سه بعدی داریم که میخواهیم آن را رنگآمیزی کنیم. به این صورت که درایههایی که در 6 وجه مکعب قرار میگیرند، رنگ شوند (مقدارشان برابر با 1 شود) و سایر درایهها بیرنگ باشند (مقدارشان برابر با 0 باشد).
حال شما باید تابع coloring
را به گونهای تکمیل کنید که لیست مورد نظر را به عنوان ورودی بگیرد و درایههای آن را به گونهای که گفته شد، تغییر دهد.
def coloring(ls):
pass
نمونه
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()
خروجی کد بالا باید به این شکل باشد:
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
نکات
- میتوانید فایل اولیه این سوال را از این لینک دریافت کنید.
- اضلاع مکعب ممکن است با هم برابر نباشند.
- تابع شما نباید مقداری را چاپ کند یا بازگرداند، تنها باید اعضای لیست مورد نظر را تغییر دهد.
نحوه ارسال
شما باید تابع coloring
موجود در فایل cube.py
را تکمیل و سپس این فایل را ارسال کنید.
ارسال پاسخ برای این سؤال