我必须编写一个程序,使用前缀和单词列表返回一个列表,其中包含列表中每个单词的True
或False
,具体取决于单词是否以前缀开头。
例如starts_with('bob', ['bobastic', 'bobo', 'fandango']
应该返回[True, True, False]
。你知道吗
这就是我所拥有的。你知道吗
def starts_with(prefix, wordlist):
lop= len(prefix)
if lop==0:
return True
elif prefix[0] != [[x[0]] for x in wordlist]:
return False
else:
wordrest = [x[1:] for x in wordlist]
prefix_list = [starts_with(prefix[1:], wordrest)]
return prefix_list
print(starts_with('bob', ['bobo', 'bobastic']))
这个函数的作用很有趣,它检查“bob”和“bobastic”是否以“b”开头,比如“bob”,但不是返回递归的case,而是返回False。你知道吗
我不想要一个解决方案,如果有人能告诉我发生了什么,我会很感激的。你知道吗
刚收到一封邮件,说这个问题放错了,教授只是想让我们返回一个带有前缀的单词列表。你知道吗
这个问题的正确答案(我想)是
def starts_with(prefix, wordlist)
return [x for x in wordlist if x[:len(prefix)]==prefix]
非常感谢你们的帮助。我希望我没有对任何人不敬(这是有史以来的第一个问题!)。如果是的话,我很谦虚地道歉。祝你今天愉快!你知道吗
你的问题就在这里
在您的示例中,将评估为:
女巫永远是真的
正如@DorElias提到的,
elif
条件是错误的,因为它试图将一个字符与一个列表进行比较-它总是会失败!你知道吗您可以使用内置函数^{} 修复它:
相关问题 更多 >
编程相关推荐