python - 重新调用函数(递归)与在 Python 中使用 while 语句

标签 python recursion while-loop

好的,我知道您可以使用 while 语句 让程序在特定条件为真时继续运行。但是,像下面这样在 else 条件下记忆函数是不正确的还是不好的做法?

def ask():
    me = input("What is your name? ")

    if me == "Tom":
        print("Hi, Tom!")
    else:
        print ("Who are you?")
        ask()

它看起来像是“while 语句”的更简单的速记版本,但我在 Python 教程中还没有真正看到这样执行的程序。

最佳答案

老实说,它们都“有效”,这取决于您的用户情况。当然,与出现问题相比,你更有可能达到递归深度,同时它们都达到相似的结果。使用 while 循环确实更简单,而且在我看来稍微更像 pythonic(在这种特定情况下)。 (为什么要弄得更复杂?)

关于python - 重新调用函数(递归)与在 Python 中使用 while 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6005504/

相关文章:

php显示类别和子类别

python - 即使我传递了参数,在 kwargs.pop 中也出现 KeyError

recursion - Pascal 中的回溯 : finding maximal weighted branch

python - FTP 上传文件手动工作,但使用 Python ftplib 失败

validation - 是否有必要以递归方式编写 Haskell 泛型?

python - 获取每个节点的最大树深度

java - 在实例中运行并在再次运行前停止 5 分钟的代码

python - 用户输入并陷入 while 循环

python - PyQt5 可重用文件选择对话框

Python Pandas - 查找 DataFrame 行的所有唯一组合,而不在列中重复值