我有一个6x6的网格,我试图从字符串返回网格中每个字符的坐标。你知道吗
我的想法是:
这是我的代码(不起作用):
grid = [
["A","B","C","D","E","F"],
["A","8","3","P","S","2","Z"],
["B","7","T","O","R","1","Y"],
["C","6","Q","N","M","0","X"],
["D","5","G","L","K","U","W"],
["E","4","9","I","H","J","V"],
["F","C","E","B","F","A","D"]
]
print("Please enter a message to encode:")
message = raw_input()
lst = list(message)
search = lst
for rownum, row in enumerate(grid):
for colnum, value in enumerate(row):
if value == search:
print "(%d,%d)" % (rownum, colnum)
我想实现的是,如果你输入“你好”,它会返回ED FC DC BC。你知道吗
任何帮助都将不胜感激。你知道吗
与其在整个
grid
中搜索每个字符,不如对网格进行预处理以获取位置,创建一个将每个字符映射到其位置的字典:注意最后一行中的
grid[0][y-1]
;列表中的第一行比其他行短。或者,您可以用None
或空字符串""
填充它并删除-1
:这将以
{character: (column, row)}
的形式创建一个字典:然后可以很容易地获得行和列:
值得注意的是,您需要将输入的字符转换为大写,否则会得到
KeyError
(因为小写字符不在网格中):相关问题 更多 >
编程相关推荐