试图检查是否可以从字符列表中创建一个单词。如果它能够从机架中的字母制成,则返回该单词,如果不能,则返回空白字符串。我收到错误TypeError: can only concatenate list (not "str") to list
。Python中的递归字检查
def checkWord(rack,word,hold):
if word == "": return hold
if rack[0] == []: return ""
if rack[0] == word[0]: return checkWord(rack[1:], word[1:], hold)
return checkWord(rack[1:] + rack[0], word, hold)
print(checkWord(["a", "s", "m", "t", "p"], "am", "am"))
我想rack [0]是一个str而不是一个列表,并且您试图将它添加到rack [1:] – bhansa
(如果/返回,您将使用oneline节省空间,但不是太多可读性) – PRMoureu
另外,您知道可以更好地执行此操作* non * -recursively,对吗?假设这不是一项任务。 – EvilTak