在找到基本情况之前,总是有助于分解递归关系.
is_even(2) => return is_odd(1)
=> return not is_even(1)
=> return not is_odd(0)
=> return not not is_even(0)
=> return not not True
=> return True ---- (1)
is_odd(2) => return not is_even(2)
=> return not True [from (1)]
=> return False
一般来说,从你的递归函数中,很容易观察到is_even(n)将返回[not not not … n次] True,而is_odd(n)将返回[not not not not … n – 1次真的.所以nots的数量因此最终的表达式取决于n(aha!).那么,这肯定是一种迂回的方式来询问是否
n % 2 == 0