Cách tốt nhất để vượt qua điều này là gì:
board = [['X','o','o','o','o','X'],
['X','o','o','_','_','X'],
['X','o','o','_','_','X'],
['X','o','o','o','X','X'],
['X','o','o','o','X','X'],
['X','o','o','_','X','X'],
['_','o','o','o','X','X']]
Nhập cái này:
"""
╔═══╦═══╦═══╦═══╦═══╦═══╦═══╗
║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║
╚═══╩═══╩═══╩═══╩═══╩═══╩═══╝
"""
định dạng? Lưu ý: Danh sách này là danh sách dọc dựa trên định nghĩa bảng, vì vậy vòng lặp for đơn giản sẽ không hoạt động.
giả thuyết Cái bảng
Đó là một tấm bảng,fmt
là chuỗi định dạng, sau khi làm phẳng nó bằng bất kỳ phương pháp nào bạn thích, hãy sử dụng *
Giải nén nó, ví dụ: biểu thức trình tạo:
>>> print(fmt.format(*(item for row in board for item in row)))
╔═══╦═══╦═══╦═══╦═══╦═══╦═══╗
║ X ║ o ║ o ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ o ║ _ ║ _ ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ _ ║ _ ║ X ║ X ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ X ║ X ║ X ║ o ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ X ║ X ║ X ║ o ║ o ║ _ ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ X ║ _ ║ o ║ o ║ o ║
╚═══╩═══╩═══╩═══╩═══╩═══╩═══╝
或者itertools.chain.from_iterable
:
>>> nhập itertools
>>> print(fmt.format(*itertools.chain.from_iterable(board)))
╔═══╦═══╦═══╦═══╦═══╦═══╦═══╗
║ X ║ o ║ o ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ o ║ _ ║ _ ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ _ ║ _ ║ X ║ X ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ X ║ X ║ X ║ o ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ X ║ X ║ X ║ o ║ o ║ _ ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ X ║ _ ║ o ║ o ║ o ║
╚═══╩═══╩═══╩═══╩═══╩═══╩═══╝
Hoặc bạn có thể sử dụng bình thường itertools.chain
và lần sử dụng đầu tiên *
Giải nén Cái bảng
:
>>> nhập itertools
>>> print(fmt.format(*itertools.chain(*board)))
╔═══╦═══╦═══╦═══╦═══╦═══╦═══╗
║ X ║ o ║ o ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ o ║ _ ║ _ ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ _ ║ _ ║ X ║ X ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ X ║ X ║ X ║ o ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ X ║ X ║ X ║ o ║ o ║ _ ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ X ║ _ ║ o ║ o ║ o ║
╚═══╩═══╩═══╩═══╩═══╩═══╩═══╝
Tôi là một lập trình viên xuất sắc, rất giỏi!