您好我正在努力理解究竟是什么递归,这是我正在编写的程序(蛇游戏)的要求,我无法找到归类为递归的明确定义。有人可以告诉我,下面的代码是否是一个例子?
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.")
答案 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}}循环是迭代的一个示例。