思路:递归和循环都会用到关键字比如for,if,等,但是不允许使用那么如果通过其他方式实现for和if功能呢?
1.连续相加,可以通过再函数里写构造函数来实现,没实例化一个函数在构造函数里做一次相关运算,但实例化n个的时候n不好控制。
2.通过将函数写到两个类中,实现if判断功能,然后通过递归来实现。(用一个数组充放两个类,用n作为数组中元素个数,但n要通过转为bool类型后再两次取反可以转化为0,1.1的时候递归,0的时候作为递归出口)
a = []
class B(object):def sum_(self,n):
return a[~~bool(n)].sum_(n-1)+n
class A(object):
def sum_(self,n):
return 0
def v(n):
aa = A()
bb = B()
a.append(aa)
a.append(bb)
value = a[1].sum_(n)
return value
print v(2)