【发布时间】:2017-02-07 08:31:04
【问题描述】:
最近我一直在研究递归,因为根据我的教授的说法,它代表了纯粹的函数式编程方法,因为变量既不会发生变化,也不会产生副作用。
通过我之前的两个问题HERE 和HERE,我开始意识到,不是递归定义是我的问题,我了解递归定义是如何工作的,我尝试使用递归定义解决许多与数学相关的问题,并且设法在第一次尝试时解决它们。因为在数学中,你总是有一个非常清晰的基本情况,例如0! 是 1 等。但是当涉及到使用string 时,我似乎总是不知道如何以以下形式构成我的基本情况:
if (something):
return something
else:
invoke the recursive function
例如,给出string 或char 的list 使用递归定义来删除元音或字母数字char 等。如前所述,它的函数式编程因此没有副作用,也不允许更改变量。这就提出了一个问题,这样的问题不是数学问题,如何提出基本情况?
提前感谢大家帮助我弄清楚我的痛苦
【问题讨论】:
标签: python recursion functional-programming discrete-mathematics