| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1405 人关注过本帖
标题:初学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
快速回复:初学python,有一个关于函数递归的问题
数据加载中...
 
   



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

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