字母表中的单词可以是水平的、垂直的或对角线的image that explains
我必须创建一个名为gera\u cadeia\u fila的函数,其中有3个参数:网格、初始位置和方向。 我必须按照给定的方向,从起始位置到结束位置给出字母。 我是个乞丐,我很困惑。我甚至不知道如何归还它,在while循环中中断就不起作用了。 这就是我目前所拥有的。我知道也许离我该做的还不远。 其他功能我必须保持这样,这是家庭作业的一部分。只有杰拉·卡迪亚·菲拉的功能不起作用。这就是我需要帮助的地方。 有人能帮我或建议最好的方法做这件事吗?谢谢
grelha1= ["PIGATOS",
"ANRBKFD",
"TMCAOXA",
"OOBBYQU",
"MACOUIV",
"EEJMIWL"]
def proxima_pos(pos, dire):
return (pos[0] + dire[0], pos[1] + dire[1]) #sums position and direction, eg. >>> proxima_pos((1, 2), (1, 0)) >>> (2,2)
def dimensions_grelha(grelha):
return (len(grelha), len(grelha[0])) #gives me the dimension of line and column of grelha1
def gera_cadeia_fila(grelha, pos_start, dire): #grelha1, position where the word strats, directions it must follow
new= ()
dimensions = dimensions_grelha(grelha)
dimension_max_line= dimensions[0]
dimension_max_column= dimensions[1]
position_inicial_line= pos_start[0]
position_inicial_column= pos_strat[1]
while position_inicial_line <= dimension_max_line and position_inicial_column <= dimension_max_column:
new= (proxima_pos(pos_start, dire))
if (new[0] > dimension_max_line or new[1] > dimension_max_colum):
break
return ???
#example of what the function must do:
>>> gera_cadeia_fila(grelha1, (1, 0), (0, 1))
’ANRBKFD’
>>> gera_cadeia_fila(grelha1, (0, 5), (1, 0))
’OFXQIW’
>>> gera_cadeia_fila(grelha1, (2, 0), (1, 1))
’TOCM’
你基本上拥有了所有你需要的机制,你只需要部署它。您缺少的两个部分是在矩阵中移动时收集信件,以及通过更新功能更新当前位置:
相关问题 更多 >
编程相关推荐