这是一个递归的例子(Python)

时间:2017-03-30 10:12:59

标签: python validation recursion

您好我正在努力理解究竟是什么递归,这是我正在编写的程序(蛇游戏)的要求,我无法找到归类为递归的明确定义。有人可以告诉我,下面的代码是否是一个例子?

while True: #recieve input player_name = input("Enter a name between 0 and 20 characters: ") #if length is within boundaries the loop is stopped if len(player_name) > 0 and len(player_name) <= 20: break #if the name is outwith the boundaries a message is printed and the loop restarts print("Too long/short, try again.")

2 个答案:

答案 0 :(得分:0)

有两种类型的循环:

<强> 1。迭代:

这里使用for(),while(),do-while()循环来重复一组语句

<强> 2。递归:

在这里你调用一个从内部调用相同函数的函数。

示例:

def factorial(n):
if n == 0:
    return 1
else:
    return n * factorial(n - 1)

这里函数 factorial()调用自身,直到n的值变为0.语句 n == 0 称为基本/终止条件,它终止递归。

答案 1 :(得分:0)

当您根据自身定义某些内容时,您会有递归。例如,以下“步行楼梯”的定义是递归的:

  

“walk staircase”:=

     

如果还有一步:走一步,“走楼梯”      否则如果没有剩下的步骤:停止

在编程递归中,最常见的是递归函数定义的形式,即调用自身的函数。

这是一个示例函数,它计算一些数n&gt;的和1 + 2 + 3 + ... + n。 0

cumsum

使这个函数递归的原因是cumsum本身的定义中使用了while True

由于您的代码中没有任何递归调用,因此它不是递归的示例。您的{{1}}循环是迭代的一个示例。