小古比鱼 发表于 2021-4-27 12:13:37

新版第020讲课后作业动动手第0题(括号匹配)

原帖地址:https://fishc.com.cn/thread-167926-1-1.html
题目要求:输入测试字符串,检测括号匹配是否合法。
以下是小古比鱼编写的代码,感觉比小甲鱼老师提供的参考答案更简洁、更优雅,还可适用于包含非括号字符的情况!望各位鱼友走过路过,留下宝贵意见,共同交流进步!
match = []
brackets = input("请输入测试字符串:")
for b in brackets:
    if b in ['(','[','{']:
      match.append(b)   # 填入数据
      continue
    if b == ')' and match and match.pop() == '(' or \
       b == ']' and match and match.pop() == '[' or \
       b == '}' and match and match.pop() == '{':
      continue            # 合法情况
    match.append('Error')   # 非法情况
    break
print("非法T_T" if match else "合法^o^")
页: [1]
查看完整版本: 新版第020讲课后作业动动手第0题(括号匹配)