Python 在原子中得到一个错误,但如果我复制粘贴在Jupyter中就不会
我正在努力学习Python。我目前正在使用Jupyter笔记本和Atom作为文本编辑器 这是我的代码:Python 在原子中得到一个错误,但如果我复制粘贴在Jupyter中就不会,python,jupyter-notebook,atom-editor,Python,Jupyter Notebook,Atom Editor,我正在努力学习Python。我目前正在使用Jupyter笔记本和Atom作为文本编辑器 这是我的代码: grid = [['.', '.', '.', '.', '.', '.'], ['.', 'O', 'O', '.', '.', '.'], ['O', 'O', 'O', 'O', '.', '.'], ['O', 'O', 'O', 'O', 'O', '.'], ['.', 'O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O', '.']
grid = [['.', '.', '.', '.', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['O', 'O', 'O', 'O', 'O', '.'],
['.', 'O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['.', '.', '.', '.', '.', '.']]
for i in range(len(grid[i])):
for l in range(0, len(grid)):
if l < len(grid)-1:
print(grid[l][i], end='')
else:
print(grid[l][i])
但是如果我在Jupyter中复制粘贴它,它就可以正常工作。我遗漏了什么?无论是在IDE中还是在Jupyter中,它都不适用于我 它确实抱怨“i”,因为它不知道嵌套for循环的第一行中的“i”是什么
for i in range(len(grid[i])):
for l in range(0, len(grid)):
if l < len(grid)-1:
print(grid[l][i], end='')
else:
print(grid[l][i])
所以对于范围内的“我”。。。这将是好的,如果它知道什么范围是
让我们来看看范围以及您是如何定义它的:
range(len(grid[i]))
因此,我可以看到您希望返回(len…)的范围
例如,范围(x)
你的x=len(网格[i])
什么是透镜。。。什么的莱恩
让我们看看len
grid[i]
什么是什么的网格
i网格
所以。。。我是什么
当然,这不是我从你的最高水平的。。。循环如果你遵循这个逻辑你会注意到Python编译器类似于人类无法理解什么是i
首先定义我。。。e、 g.i=5,那么你的代码就可以工作了 它的代码在Jupyter中工作,因为
i
是在同一个Jupiter笔记本中的其他单元格中定义的
我想这就是你想要做的:
grid = [['.', '.', '.', '.', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['O', 'O', 'O', 'O', 'O', '.'],
['.', 'O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['.', '.', '.', '.', '.', '.']]
for row in range(len(grid)):
for col in range(len(grid[0])):
print(grid[row][col], end='')
print()
>>>
......
.OO...
OOOO..
OOOOO.
.OOOOO
OOOOO.
OOOO..
.OO...
......
对于范围内的i(len(网格[i]):和范围内的l(0,len(网格)):的顺序似乎不正确。此外,考虑直接对列表项进行迭代,而不是使用索引变量(例如,在网格中为子窗体:<代码>:<代码> >)“它在Jupyter中工作得很好”,很可能您在另一个单元格中定义了<代码> i <代码>(或者它是在会话中定义的)。用新笔记本再试一次。你应该得到同样的错误。我确实理解你的观点,但是:-我如何告诉它为可能不同长度的不同行的每个值运行?-如果我复制粘贴它,为什么它在Jupyter中工作?
grid[i]
grid = [['.', '.', '.', '.', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['O', 'O', 'O', 'O', 'O', '.'],
['.', 'O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O', '.'],
['O', 'O', 'O', 'O', '.', '.'],
['.', 'O', 'O', '.', '.', '.'],
['.', '.', '.', '.', '.', '.']]
for row in range(len(grid)):
for col in range(len(grid[0])):
print(grid[row][col], end='')
print()
>>>
......
.OO...
OOOO..
OOOOO.
.OOOOO
OOOOO.
OOOO..
.OO...
......