Python 查找特定图表';s坐标
我需要扫描几个字符串的列表(每一行都是字符串),找到符号“+”或“@”(其中只能出现一个),然后打印x,y坐标。左角为(0,0),如果保持向右和向下,则值将增加 我不明白我的代码有什么问题:Python 查找特定图表';s坐标,python,Python,我需要扫描几个字符串的列表(每一行都是字符串),找到符号“+”或“@”(其中只能出现一个),然后打印x,y坐标。左角为(0,0),如果保持向右和向下,则值将增加 我不明白我的代码有什么问题: x,y=-1,-1 for row in my_list: y+=1 for symbol in row: x+=1 if symbol=="@":
x,y=-1,-1
for row in my_list:
y+=1
for symbol in row:
x+=1
if symbol=="@":
makom=(x,y)
player="@"
if symbol=="+":
makom=(x,y)
player="+"
print makom
名单:
输出:
(2,3)
更改行时忘记重置
x
:
y = -1
for row in my_list:
x = -1
y += 1
for symbol in row:
x += 1
if symbol == "@":
makom = (x,y)
player = "@"
if symbol == "+":
makom = (x,y)
player = "+"
print makom
为了完整起见,如果使用enumerate
:D,就不会犯这个错误
for y, row in enumerate(my_list):
for x, symbol in enumerate(row):
if symbol == "@":
makom = (x, y)
player = "@"
if symbol == "+":
makom = (x, y)
player = "+"
print makom
通过使用
enumerate()
内置而不是手动计数,您可以使代码更加清晰。您希望得到什么输出?我们没有学习它,所以我宁愿不使用它@LattyWare您的意思是“坐标”这个词?正如我提到的,这是使用enumerate()
-
for y, row in enumerate(my_list):
for x, symbol in enumerate(row):
if symbol == "@":
makom = (x, y)
player = "@"
if symbol == "+":
makom = (x, y)
player = "+"
print makom