python递归调用返回值_如何从递归Python函数返回值?

这个问题似乎有点具体,对此我很抱歉,但这让我很为难。我正在给自己写一个密码生成器,它接受一个字符串(也就是网站的URL)并将其处理成一个安全的密码,不能根据网站的名称进行回溯。在

在部分代码中,我创建了一个递归函数,如下所示:def get_number(n = 0, nums = ''):

for i in range(0, len(url)):

#both n and nums are changed

if len(nums) < num_length:

get_number(n, nums)

else:

print(nums)

return(nums)

。。。在

^{pr2}$

我希望'nums'输出两次,因为我在else块中打印它,然后再打印返回值。但是,如果它确实经过递归循环,则从else块打印“nums”,并且函数返回“None”。如果if len(nums) < num_length第一次为false,则返回正确的值。在

如果我验证它返回的对象实际上不是前面的行“None”,为什么它会返回“None”?在

我对Python有点陌生,它们处理递归的方式不同吗?在

谢谢你抽出时间

编辑:

问题已修复。在递归调用中忘记了return语句。谢谢:D

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值