ممتاز! حل نموذجي يمكن أن يكون:
def format_board(board): result = '' for i in range(len(board)): for char in board[i]: result += char if i != len(board) - 1: result += '
' return result
وإذا بحثت عن join واستخدمتها، فهذا ممتاز أيضًا. قد يكون الحل مثل:
def format_board(board): joined_rows = [] for row in board: joined_rows.append("".join(row)) return "
".join(joined_rows)
يمكنك الانتقال للجزء التالي، أو حل تحدٍّ إضافي: اكتب نسخة محسنة من format_board تعرض فواصل الصفوف والأعمدة. إذا كانت:
board = [ ['X', 'O', 'X'], [' ', 'O', 'O'], [' ', 'X', ' '] ]
فيجب أن يطبع print(format_board(board)):
X|O|X -+-+- |O|O -+-+- |X|
ويجب أن يعمل مع لوحة مربعة بأي حجم.
استخدام join مناسب جدًا هنا. الاختبار:
__copyable__ def format_board(board): ...
check_result( format_board([ ['X', 'O', 'X'], ['O', ' ', ' '], [' ', 'X', 'O'] ]), 'X|O|X
-+-+-
O| |
-+-+-
|X|O' )
هناك نوعان من الأسطر: أسطر القطع وبينها |، وأسطر الفصل المكونة من - وبينها +. ابنِ كل نوع باستخدام join، ثم اجمع الأسطر مع محارف السطر الجديد.