小编use*_*839的帖子

使用递归评估字符串

我正在尝试创建一个返回True的函数,传入的字符串是'1'(有效)或'1*'(有效)或以(有效)的形式'(' + valid + '|' + valid + ')'.我的意思是最后一部分是例如:

(1|1)< - 因为它的形式'(' + valid + '|' + valid + ')''1'有效. ((1|1)|1)< -自的形式'(' + valid + '|' + valid + ')'(1|1)有效,所以是"1"

((1|(1|1))|1)< - 因为它的形式'(' + valid + '|' + valid + ')'(1|(1|1))有效等等'1'

我的计划:

  • 1.)如果传入的字符串为'1',则返回True(基本情况)
  • 2.)如果传入的字符串是'1'+'*',则返回True
  • 3.)否则,如果传入的字符串以'('并以'结尾'开头,则查看括号内的内容并找到'|' 不在另一个括号内的符号.一旦找到它,再次在找到的符号左侧的字符串上运行该函数,并再次在找到的符号右侧的字符串上运行该函数.如果两者都为True则字符串为True(递归步骤)
  • 4.)如果传入任何其他内容,则返回False.

我的代码基于我的计划:

def check(s):
    if s == '1':
        return True
    elif s …
Run Code Online (Sandbox Code Playgroud)

python

5
推荐指数
1
解决办法
97
查看次数

标签 统计

python ×1