2024-06-28 15:02:25 发布
网友
我正在处理一个问题,下面是我的代码。我需要一些帮助。你知道吗
编写一个递归函数检查,以表示密码的字符串作为输入,并返回所有数字字符(0-9)
def check(s): if not s.idigit(): return else: return check(s.isdigit())
def check(s): if len(s) == 0: return '' elif s[0].isdigit(): return s[0] + check(s[1:]) else: return check(s[1:])
举个例子
print(repr(check('12a3z-4!')))
这个指纹
'1234'
这就是你想要的。有其他方法可以编写此代码,但对于Python初学者来说,这可能是最简单的方法。你知道吗
从上一条评论中,您可能希望打印出密码中的数字,从大到小,每一个都在单独的行中,并且您不关心从函数返回任何内容。如果那是你想要的,试试看
def check(s): if len(s) > 0: check(s[1:]) if s[0].isdigit(): print(s[0]) check('31a4z-2!')
2 4 1 3
递归有两个主要部分:
你的基本情况是
if s == '': return ''
递归的大小写取决于前导字符是否是数字。如果是,则希望将其添加到构建的字符串中;如果不是,则没有要添加的内容。无论哪种方式,都可以调用字符串的其余部分的例程:
add = '' if s[0].isdigit(): add = s[0]
之后,调用字符串其余部分的例程。当返回时,将其返回值与add组合,并将返回给调用程序。你知道吗
这让你感动吗?你知道吗
举个例子
这个指纹
这就是你想要的。有其他方法可以编写此代码,但对于Python初学者来说,这可能是最简单的方法。你知道吗
从上一条评论中,您可能希望打印出密码中的数字,从大到小,每一个都在单独的行中,并且您不关心从函数返回任何内容。如果那是你想要的,试试看
这个指纹
递归有两个主要部分:
你的基本情况是
递归的大小写取决于前导字符是否是数字。如果是,则希望将其添加到构建的字符串中;如果不是,则没有要添加的内容。无论哪种方式,都可以调用字符串的其余部分的例程:
之后,调用字符串其余部分的例程。当返回时,将其返回值与add组合,并将返回给调用程序。你知道吗
这让你感动吗?你知道吗
相关问题 更多 >
编程相关推荐