永发信息网

python 用递归方式列表 输出小于N的所有偶数

答案:2  悬赏:10  手机版
解决时间 2021-03-19 20:32
python 用递归方式列表 输出小于N的所有偶数
最佳答案
def check(x):
    return (x < N and x % 2 == 0)

def func_A(lst, check):
    if len(lst):
        if check(lst[0]):
            print lst[0]
        func_A(lst[1:], check)
    else:
        return追问if len(lst):
if check(lst[0]):
print lst[0]
是什么意思 为什么要长度追答判断空数组时退出。这道题的核心就在于让你了解怎么递归
-- 递归一定要有退出逻辑的


之前的理解似乎不对你的题目

def evens(n):
    n -= (n % 2) and 1 or 2
    if n <= 0:
        return
    print n
    evens(n)追问谢谢,那我写的那个思路是哪里出问题了?为什么加上奇数的判断就一直提示nonetype追答
def evens(n):
    if n > 2 and n % 2:
        return evens(n-1) # 奇数入口从n-1开始
    elif n>=2:
        return evens(n-2) + [n]
    else:
        return []
全部回答

这种问题不明白为什么要用递归来做, Python中的递归如果不做特殊处理, 你这输入的数字大一点就会抛异常.

import sys
class TailRecurseException:
    def __init__(self, args, kwargs):
        self.args = args
        self.kwargs = kwargs
def tail_call_optimized(g):
    def func(*args, **kwargs):
        f = sys._getframe()
        if f.f_back and f.f_back.f_back and f.f_back.f_back.f_code == f.f_code:
            raise TailRecurseException(args, kwargs)
        else:
            while 1:
                try:
                    return g(*args, **kwargs)
                except TailRecurseException, e:
                    args = e.args
                    kwargs = e.kwargs
    func.__doc__ = g.__doc__
    return func
@tail_call_optimized
def fun(n):
    if n == 2:
        sys.stdout.write(' ')
        return
    elif n % 2 == 1:
        n = n - 1
    else:
        n = n - 2
    sys.stdout.write('{} '.format(n))
    fun(n)
N = int(sys.stdin.readline())
fun(N)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
90后小时候看的动画片,记得里面的主角都是鸡
请问松江区泗泾镇或九亭镇哪里有修鞋摊??我
关于《桃花扇》《西厢记》《长生殿》《牡丹亭
为而却步反义词
是不是所有情人分手后都不会再联系了为什么呢
做二手房中介有什么收集房源和客源的技巧?
为啥耿直男儿那么火?谁啊?
香寺村地址有知道的么?有点事想过去!
古代嫔妃住所,是什么轩的有哪些
九年级英语1-6单元重点句型,短语。一些单词
为什么我下载的歌好多播放时都卡
证明悬挂法确定重心的合理性。急,谢谢
永明投资担保有限公司怎么去啊,有知道地址的
监控摄像怎么连接手机
合肥到青岛开车多久
推荐资讯
目视管理的定义是什么? 10分
西餐三角斤怎么带
庆城有什么好玩的地方
蜗牛胶涂完后要洗掉吗
尽快拆除所属物品的通知
美团没有身份证可以坐火车吗
用手捏爆易拉罐要多少力量
一男的问你等不等该如何回复
失能没亲人的老人住养老院交费怎样解决
此刻你正在穿越时空,走进荒岛,见到鲁滨逊并与
按规律填空1,2,6,13,后面怎么填
三孔桥布匹批发市场在哪里
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?