鱼C论坛

 找回密码
 立即注册
查看: 3173|回复: 2

[技术交流] 第020讲:列表(Ⅱ)的动动手,自己做出来的,不知道有没有BUG

[复制链接]
发表于 2023-1-1 17:13:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我自己思考出来的代码,跟小甲鱼的不一样,但是能按照预期运行,目前没发现什么 bug
但是心里没底,兄弟们,可以帮我测试一下有什么BUG吗。
s = input("请输入测试字符串:")

stack = []
the = 0
for i in s:
    if i == "(" or i == "[" or i == "{":
        stack.append(i)
    else:
        temp = stack.pop()

        if temp == "(" and i == ")":
            the = 1
        elif temp == "[" and i == "]":
            the = 1
        elif temp == "{" and i == "}":
            the = 1
        else:
            the = 0

if the > 0:
    print("合法^o^")
else:
    print("非法T_T")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-1 17:24:54 | 显示全部楼层
本帖最后由 柿子饼同学 于 2023-1-1 18:04 编辑

有一点问题 , 比如下面这个会错 :
]]]]}}()
因为你下面判断的时候没有给列表判空 , 导致如果我第一个就是右括号 , 就会报错
然后比如这样的
(]]
也会因为列表空报错
应该把下面判断是否配对改一下判断列表是否为空
时间上可以发现不对就直接跳出循环写出结果 , 这样省时间
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-2 18:24:18 | 显示全部楼层
柿子饼同学 发表于 2023-1-1 17:24
有一点问题 , 比如下面这个会错 :

因为你下面判断的时候没有给列表判空 , 导致如果我第一个就是右括号 , ...

十分感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-25 03:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表