注册 登录
编程论坛 Python论坛

初学python,有一个关于函数递归的问题

冬夜微风 发布于 2019-05-23 02:48, 1530 次点击
需求是生成一个订单号

import random
order_list = ['t_01_0001', 't_01_0003', 't_01_0005']    # 模拟库中已经存在的订单号列表


def create_order_id(user_id):
    new_order = 't_' + user_id + '_' + '%04d' % random.randint(1, 5)        # 按订单号规则生成新的订单号
    if new_order in order_list:                                            # 判断是否在已有列里  如果有 重新执行函数
        print("-" + new_order)     # 这两个print 是测试用的
        create_order_id(user_id)
    else:                                                                   # 如果不存在,就返回刚刚生成的订单号
        print("=" + new_order)    # 这两个print 是测试用的
        return new_order


print(create_order_id('01'))


但是为什么  返回的会是 none呢?


只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2019-5-23 02:49编辑过]

1 回复
#2
冬夜微风2019-05-23 14:40
我已经知道了  
IF语句成立那里  递归调用的时候  少了一个return
1