标题:初学python,有一个关于函数递归的问题
只看楼主
冬夜微风
Rank: 2
等 级:新手上路
威 望:3
帖 子:4
专家分:7
注 册:2019-5-23
 问题点数:0 回复次数:1 
初学python,有一个关于函数递归的问题
需求是生成一个订单号

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编辑过]

搜索更多相关主题的帖子: python 函数 生成 订单 print 
2019-05-23 02:48
冬夜微风
Rank: 2
等 级:新手上路
威 望:3
帖 子:4
专家分:7
注 册:2019-5-23
得分:0 
我已经知道了  
IF语句成立那里  递归调用的时候  少了一个return
收到的鲜花
  • 静夜思2019-05-23 14:51 送鲜花  1朵   附言:赞分享精神
2019-05-23 14:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-494883-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.245591 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved