蟒蛇。X标记的痕迹

问题描述 投票:0回答:1

我想做一个代码,让用户跟踪他们在网格上的位置(grok python入门(2)X标记的线索),我已经在代码上工作了一段时间,我认为我很接近,但不知道如何正确地格式化它。

代码应该是这样工作的。

Grid size: 3
x..
...
...
Direction: right
xx.
...
...
Direction: down
xx.
.x.
...
Direction: right
xx.
.xx
...
Direction: 

但我的代码是:

Grid size: 3
[['x', '.', '.'], ['.', '.', '.'], ['.', '.', '.']]
Direction: down
[['x', '.', '.'], ['x', '.', '.'], ['.', '.', '.']]
Direction: right
[['x', '.', '.'], ['x', 'x', '.'], ['.', '.', '.']]
Direction: right
[['x', '.', '.'], ['x', 'x', 'x'], ['.', '.', '.']]
Direction: down
[['x', '.', '.'], ['x', 'x', 'x'], ['.', '.', 'x']]
Direction: left
[['x', '.', '.'], ['x', 'x', 'x'], ['.', 'x', 'x']]

我的代码是:

g = input('Grid size: ')
gn = int(g)
grid = []
for i in range(gn):
  row = []
  for j in range(gn):
    row.append('.')
  grid.append(row)
grid[0][0]='x'
print(grid)
h = 0
v = 0
m = input("Direction: ")
while m != "":
  if m.lower() == "right":
    h = h+1
    grid[v][h] = 'x'
    print(grid)
    m = input("Direction: ")
  elif m.lower() == "left":
    h = h-1
    grid[v][h]= 'x'
    print(grid)
    m = input("Direction: ")
  elif m.lower() == "up":
    v = v-1
    grid[v][h]= 'x'
    print(grid)
    m = input("Direction: ")
  elif m.lower() == "down":
    v = v+1
    grid[v][h]= 'x'
    print(grid)
    m = input("Direction: ")

谁来帮帮我,我不知道怎么把这些列表连在一起(每行都是新的)。

python python-3.x grok
1个回答
2
投票

你可以创建函数来打印网格

def show_grid(grid):
    for line in grid:
        print(''.join(line))
© www.soinside.com 2019 - 2024. All rights reserved.