gpt4 book ai didi

python - 从列表中找到 secret 词?

转载 作者:太空宇宙 更新时间:2023-11-04 10:28:41 28 4
gpt4 key购买 nike

我必须使用函数 isIn(secretWord,lettersGuessed) 从列表中找到密码。在下面发布我的代码。

def isWordGuessed(secretWord, lettersGuessed):

if secretWord=="" or lettersGuessed==[]:
return False
if secretWord[0:] in lettersGuessed:
return True
else:
return isWordGuessed(secretWord[1:],lettersGuessed)

对于某些示例,我得到了错误的答案。其中一些是:

isWordGuessed('apple', ['a', 'e', 'i', 'k', 'p', 'r', 's'])

在上面的例子中,我得到了 True 作为输出,它应该是 False 因为一旦 secretWord 的字母在 lettersGuessed 中被猜对了它应该排除它第二次递归。我需要知道是否有办法从列表 lettersGuessed 中排除猜到一次的字母。

谢谢

附言我得到了解决方案,但在此处提出的类似问题中使用了不同的代码,但要了解我需要知道我哪里出错了。

最佳答案

一些修复:

>>> def isWordGuessed(secretWord, lettersGuessed):
... if secretWord=="" or lettersGuessed==[]:
... return False
# secretWord[0:] picks whole word not a single character so replace with secretWord[0]
# also flip the condition
... if secretWord[0] not in lettersGuessed:
... return False
# an extra check for the last word otherwise it would do one more recursion and return false by condition 1
... if len(secretWord)==1 and secretWord in lettersGuessed:
... return True
... else:
... return isWordGuessed(secretWord[1:],lettersGuessed)
...
>>> isWordGuessed('apple', ['a', 'e', 'i', 'k', 'p', 'r', 's'])
False
>>> isWordGuessed('apple', ['a', 'e', 'i', 'l', 'p', 'r', 's'])
True

关于python - 从列表中找到 secret 词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28212483/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com