现在我已经想到了一段时间,我似乎无法找到我在网上寻找我的问题,因为你可能从标题中猜到,我真的不知道如何我要问的是一个问题,但我会试着解释一下。
我目前正在使用Python进行作业,我们必须解决单词搜索难题。我正在研究的最后一个阶段是通过找到的单词画线。比方说,我发现一个单词是水平的,我需要的像素坐标是单词第一个字母的x
和y
以及x
和y
的单词BUT的最后一个字母,如果发现一个单词水平移动到最后一个字母,则只更改x
坐标。
tldr;
这样的代码会更好:
if found:
last_x = x + ((len(word) - 1) * direction)
last_y = y
foundWords.append(get_new_found_word(x, y, last_x, last_y))
或者像这样编码会更好:
if found:
last_x = x + ((len(word) - 1) * direction)
foundWords.append(get_new_found_word(x, y, last_x, y))
为了澄清,此方法中的x和y用于单词搜索网格中的行和列,而不是像素。方向为1或-1(从起始字母向左或向右看)
所以我想问的是,创建变量last_y
是否更好,因为它读起来更好,一目了然更容易理解,或者更好地使用y
变量是同一个东西还是根本不重要?
非常感谢, 詹姆斯
答案 0 :(得分:0)
首先,我建议您为x
和y
变量使用更有意义的名称。例如,根据您的评论,x
可能已命名为word_pixel_x
,而y
可能已命名为word_pixel_y
。但是,正确的命名应基于代码的其余部分
现在针对您的问题,我的建议是为您的两种不同情况创建两种不同的get_new_found_word
方法。一种方法,用于水平找到您的单词,另一种用于对角找到单词的情况。对于第一种情况,您只需传递三个变量,因为y
和last_y
将是相同的。
例如。
get_new_found_word_horizontally(x, y, last_x)
get_new_found_word_diagonally(x, y, last_x, last_y)
当然,以上只是根据我自己的经验并根据您提供的证据提出的建议。