Python 3.4作业,我只想要一个提示

标签 python python-3.x

我必须编写一个程序,该程序采用前缀和单词列表来返回列表中每个单词的包含 TrueFalse 的列表,具体取决于是否单词是否以前缀开头。 例如 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”是否像“bob”一样以“b”开头,但不是进入递归情况,而是返回 False。

我不需要解决方案,如果有人能向我指出发生了什么,我将不胜感激。

最佳答案

你的问题就在这里

elif prefix[0] != [[x[0]] for x in wordlist]:
    return False

在您的示例中,其计算结果为:

'b' != [['b'],['b']]

女巫永远是真实的

关于Python 3.4作业,我只想要一个提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32809789/

相关文章:

python - 从头开始python实现Otsu二值化

django - 更改 ModelForm 的 CharField 上的 max_length

python - 如何正确转发dropout层

python - 如何计算 python 中全行注释的行数?

Python 如何将 8 位 ASCII 字符串转换为 16 位 Unicode

python - 在 Pandas 数据框中应用函数的问题

python - WebDriver - Python - 下拉菜单中有多少个元素

python - Pygame 碰撞检测不适用于旋转图像

Python - Pandas - 'normal' 列的唯一约束

python - Dataframe 大型 JSON(嵌套的嵌套)