如何用Python设置函数判断输入括号是否合规

要用Python来判断括号是否合规,可以使用栈的数据结构来实现。

下面是一个示例代码:

def is_valid_parentheses(s):
    stack = []
    mapping = {')':'(', ']':'[', '}':'{'}
    
    for char in s:
        if char in mapping:
            top_element = stack.pop() if stack else '#'
            if mapping[char] != top_element:
                return False
        else:
            stack.append(char)
    
    return not stack

# 测试代码
print(is_valid_parentheses("()"))  # True
print(is_valid_parentheses("()[]{}"))  # True
print(is_valid_parentheses("(]"))  # False
print(is_valid_parentheses("([)]"))  # False
print(is_valid_parentheses("{[]}"))  # True
  1. 函数 is_valid_parantheses 接受一个字符串 s 作为输入,用于判断其中的括号是否合规。
  2. 创建一个空栈 stack ,用于存储左括号。
  3. 创建一个字典 mapping,用于存储右括号与其对应的左括号。
  4. 遍历字符串 s 中的每个字符 char

  5. 如果 char 是右括号,就检查栈顶元素 top_element 是否与 char 对应的左括号相匹配。如果不匹配,则返回 False。
  6. 如果 char 是左括号,将其压入栈中。
  7. 当遍历完所有字符后,检查栈是否为空。如果栈为空,说明所有括号都是合规的,返回 True;否则,返回 False。
  8. 最后调用 print(is_valid_parantheses("()[{]")) 进行测试。

这段代码使用了一个栈来存储左括号,每次遇到右括号时,都会将栈顶的左括号弹出并判断是否匹配。如果最后栈为空,则说明所有的括号都是合规的,返回True;否则,返回False。

你可以传入不同的括号字符串进行测试,看看结果是否符合预期。

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西玥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值