python - 如何仅使用递归在 python 中制作列表搜索程序?

标签 python python-2.7

我正在尝试制作一个 python 程序(仅使用递归,不使用循环),它从用户那里获取一个名称列表以及一个用于搜索该列表的名称。该程序必须判断该名称是否存在于给定列表中。此外,如果列表中的一个元素是 "James Christ" 并且我们搜索 "James",程序应该返回 true。 我已经做了一半的程序。但是我的代码没有执行附加功能。 我的代码是这样的:

L1=list(input("Enter the list of names : "))
x=input("Enter the name to search : ")

def search(L1,x):
    if len(L1)==0:
        return "Not found!!"
    else:
        if x==L1.pop(0):
         return "Entry found!!"
        else:
         return search(L1,x)

print search(L1,x)

请帮帮我!

最佳答案

这是一种不破坏原始列表的解决方案。

montys = [
    'John Cleese', 'Graham Chapman', 'Terry Gilliam',
    'Eric Idle', 'Terry Jones', 'Michael Palin']
actor = 'Idle'


def search(data, word):
    if len(data) == 0:
        return "Not found!"
    else:
        if word in data[0]:
            return "Entry found!"
        else:
            return search(data[1:], word)

print(search(montys, actor))

有关更多信息,请参阅 Junuxx 答案。

关于python - 如何仅使用递归在 python 中制作列表搜索程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15067891/

相关文章:

python - S3 使用 s3cmd 重定向 302 对象

python - Django 连接远程 Mysql OperationalError 2026

python - Lambda/ffmpeg 延时生成 - 输出零字节,无法调试 ffmpeg

python - 使用 webapp2 在 Python 中的 Google App Engine 上进行 session

Python 套接字错误 - recv() 函数

python - 使用 PIP 时出现 "SSL: CERTIFICATE_VERIFY_FAILED"错误

python - 使用 get-pip.py 时 pip 安装在哪里?

python - 使用 7zip 和 python 在给定路径中创建受密码保护的文件

python - ./configure --enable-shared 在 python altinstall 期间究竟做了什么?

python - 从 unicode : error 中删除标点符号