Python 3.x 在Python中向嵌套列表中添加符号和模式?
所以我正在尝试为我的任务创建一个地牢类型的游戏。但我不知道如何用嵌套列表创建这样的地图?任何帮助都将不胜感激 地图示例:Python 3.x 在Python中向嵌套列表中添加符号和模式?,python-3.x,Python 3.x,所以我正在尝试为我的任务创建一个地牢类型的游戏。但我不知道如何用嵌套列表创建这样的地图?任何帮助都将不胜感激 地图示例: +---+---+---+---+---+---+---+---+ | T | | | | | | | | +---+---+---+---+---+---+---+---+ | | | | T | | | | | +---+---+---+---+---+---+---+---+ | | | | |
+---+---+---+---+---+---+---+---+
| T | | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | T | | | | |
+---+---+---+---+---+---+---+---+
| | | | | | T | | |
+---+---+---+---+---+---+---+---+
| | T | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | | T | | | |
+---+---+---+---+---+---+---+---+
| | | | | | | | K |
+---+---+---+---+---+---+---+---+
world_map = [['T', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', 'T', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', 'T', ' ', ' '],\
[' ', 'T', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', 'T', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', ' ', ' ', 'K']]
current_row = 0
current_column = 0
def View_Map():
for i in world_map:
world_map[current_row][current_column] = "H/T"
print(i)
列表:
+---+---+---+---+---+---+---+---+
| T | | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | T | | | | |
+---+---+---+---+---+---+---+---+
| | | | | | T | | |
+---+---+---+---+---+---+---+---+
| | T | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | | T | | | |
+---+---+---+---+---+---+---+---+
| | | | | | | | K |
+---+---+---+---+---+---+---+---+
world_map = [['T', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', 'T', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', 'T', ' ', ' '],\
[' ', 'T', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', 'T', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', ' ', ' ', 'K']]
current_row = 0
current_column = 0
def View_Map():
for i in world_map:
world_map[current_row][current_column] = "H/T"
print(i)
这是我所拥有的:
+---+---+---+---+---+---+---+---+
| T | | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | T | | | | |
+---+---+---+---+---+---+---+---+
| | | | | | T | | |
+---+---+---+---+---+---+---+---+
| | T | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | | T | | | |
+---+---+---+---+---+---+---+---+
| | | | | | | | K |
+---+---+---+---+---+---+---+---+
world_map = [['T', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', 'T', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', 'T', ' ', ' '],\
[' ', 'T', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', 'T', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', ' ', ' ', 'K']]
current_row = 0
current_column = 0
def View_Map():
for i in world_map:
world_map[current_row][current_column] = "H/T"
print(i)
我得到的输出:
+---+---+---+---+---+---+---+---+
| T | | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | T | | | | |
+---+---+---+---+---+---+---+---+
| | | | | | T | | |
+---+---+---+---+---+---+---+---+
| | T | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | | | | | |
+---+---+---+---+---+---+---+---+
| | | | | T | | | |
+---+---+---+---+---+---+---+---+
| | | | | | | | K |
+---+---+---+---+---+---+---+---+
world_map = [['T', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', 'T', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', 'T', ' ', ' '],\
[' ', 'T', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', 'T', ' ', ' ', ' '],\
[' ', ' ', ' ', ' ', ' ', ' ', ' ', 'K']]
current_row = 0
current_column = 0
def View_Map():
for i in world_map:
world_map[current_row][current_column] = "H/T"
print(i)
您可以使用字符串格式打印此内容,您需要打印
- 数据中的每一行都有一个标题(
)'+--+-etc-+--+'
- 数据中的每个单元格都有一个值V(
)'+V+'
- 它们后面的结束行(
)'+--+-etc-+--+'
m = [['T', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
[' ', ' ', ' ', 'T', ' ', ' ', ' ', ' '],
[' ', ' ', ' ', ' ', ' ', 'T', ' ', ' '],
[' ', 'T', ' ', ' ', ' ', ' ', ' ', ' '],
[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
[' ', ' ', ' ', ' ', 'T', ' ', ' ', ' '],
[' ', ' ', ' ', ' ', ' ', ' ', ' ', 'K']]
def print_map(data):
"""Prints a list of lists, puts data centered
into each boxand pads other boxes accordingly. """
# max widht of all elelemts to be printed
max_w = max(len(o) for l in data for o in l)
# fitting header
header = f"+-{'-' * max_w}-" * len(data[0]) + "+"
for line in data:
print(header)
print("+", end="")
for char in line:
# center format each "box"
print(f" {char:^{max_w}} +", end="")
print()
print(header)
print_map(m)
输出:
+---+---+---+---+---+---+---+---+
+ T + + + + + + + +
+---+---+---+---+---+---+---+---+
+ + + + T + + + + +
+---+---+---+---+---+---+---+---+
+ + + + + + T + + +
+---+---+---+---+---+---+---+---+
+ + T + + + + + + +
+---+---+---+---+---+---+---+---+
+ + + + + + + + +
+---+---+---+---+---+---+---+---+
+ + + + + T + + + +
+---+---+---+---+---+---+---+---+
+ + + + + + + + K +
+---+---+---+---+---+---+---+---+
如果您有“非1字符内容”,则代码将根据需要将其他单元格隔开:
+-------+-------+-------+-------+-------+-------+-------+-------+
+ T + + + + + + + +
+-------+-------+-------+-------+-------+-------+-------+-------+
+ + + + TTTTT + + + + +
+-------+-------+-------+-------+-------+-------+-------+-------+
+ + + + + + T + + +
+-------+-------+-------+-------+-------+-------+-------+-------+
+ + T + + + + + + +
+-------+-------+-------+-------+-------+-------+-------+-------+
+ + + + + + + + +
+-------+-------+-------+-------+-------+-------+-------+-------+
+ + + + + + + + +
+-------+-------+-------+-------+-------+-------+-------+-------+
+ + + + + T + + + +
+-------+-------+-------+-------+-------+-------+-------+-------+
+ + + + + + + + K +
+-------+-------+-------+-------+-------+-------+-------+-------+
您应该阅读有关
str.join
方法的内容。尝试从世界地图
中的一个子列表创建一个字符串,如下所示:“| | | | | | |”
。如果你已经知道如何做到这一点,那么你可能已经知道如何做其余的事情了。你真的想要一本字典吗?对不起,我对Python不是很在行。是的,嵌套列表是作为模板提供的,所以希望它是嵌套列表形式。发布的代码使用循环将世界地图的同一字段反复设置为“H/T”,并打印一行-反复设置同一字段是浪费的,您可以在循环外执行一次,然后打印地图