【发布时间】:2019-12-03 19:57:02
【问题描述】:
我正在编写一个有趣的小游戏,其中计算机随机选择 4 种颜色作为密码,用户的工作是猜测他们认为颜色是什么,并根据您与密码的接近程度给出线索代码。当您的猜测列表中的元素匹配时,程序会将线索值 2 附加到新列表中,如果您的猜测列表中的元素与位置不匹配但出现在密码列表中,则应附加一个值1 到我们的线索列表。
当您将猜测列表与密码列表进行比较时,我遇到了一个问题。这是一个例子:
如果计算机密码是一个包含 4 个元素的列表,如图所示:["Blue", "Yellow", "Green", "Red"]
而你的猜测是["Blue", "Blue", "Green", "Red"],程序返回一个线索列表[2, 1, 2, 2]。我希望它返回[2, 2, 2],因为我不想在猜测列表中重复计算蓝色猜测,因为它只在密码中出现一次。
这是目前为止的函数代码。
def get_clue(secret_code, guess_list):
clue_list = []
for i in range(len(guess_list)):
if guess_list[i] == secret_code[i]:
clue_list.append(2)
elif guess_list[i] != secret_code[i] and guess_list[i] in secret_code:
clue_list.append(1)
else:
clue_list = clue_list
print("Your Clue is : ", clue_list)
return clue_list
【问题讨论】:
-
查看集合。