我写了一小段代码,它是大型游戏的一个组成部分。这是一种位置/单词类型的游戏,其中提示人猜测神秘单词的一部分,具有所述猜测的提示位置和长度。对于给定猜测的元组列表(位置,长度),代码如下:
def trial(word_length):
direction = True
position = 0
guess_length = 2
steps = []
while word_length != guess_length:
while direction == True:
steps.append((position,guess_length))
if position != 0:
position -= 1
else:
guess_length += 1
direction = False
while direction == False:
steps.append((position,guess_length))
if (position + guess_length) < word_length:
position += 1
else:
position -= 1
guess_length += 1
direction = True
steps.append((0,word_length))
return steps
此代码生成word_length 2的列表,但不会更大。我需要它,能够处理多达10个字母的单词。是什么原因选择不退回清单?
答案 0 :(得分:0)
问题:它选择不返回列表的原因是什么?
您的代码将进入无限循环,因为position
变为否定。
更改为以下内容。
while word_length != guess_length and position >= 0: