笔记草稿()<

薯队长写了一篇笔记草稿,请你帮忙输出最后内容。

 1.输入字符包括,"("    ,    ")"    和    "<"和其他字符。 

2.其他字符表示笔记内容。

 3.()之间表示注释内容,任何字符都无效。    括号保证成对出现。

 4."<"表示退格,    删去前面一个笔记内容字符。括号不受"<"影响    。 

输入描述:

输入一行字符串。长度<=10000.

输出描述:

输出一行字符串,表示最终的笔记内容。 

输入例子1:

Corona(Trump)USA<<<Virus

输出例子1:

CoronaVirus

测试代码1:【此时代码通过率为80%】【代码存在问题】

s = input()
lst = []
flag = True
for i in s:
    if i != '(' and flag:
        lst.append(i)
    else:
        flag = False
    if i == ')':
        flag = True
    if i == '<':
        lst.pop()
        lst.pop()
print(''.join(lst))

运行效果:

 测试代码2:【测试用例通过100%】

s = input()
lst = []
flag = 0
for i in s:
    if i == '(':
        flag += 1
        continue
    if flag:
        if i == ')':
            flag -= 1
        continue
    if i != '<':
        lst.append(i)
    else:
        lst.pop()
print(''.join(lst))

运行效果:

测试代码3:【测试用例通过100%】

m = input().strip()  # 返回移除字符串头尾指定的字符生成的新字符串。
stack1 = []
for i in m:  # 利用栈
    if i == "<":
        stack1.pop()
    elif i == ")":
        while True:
            a = stack1.pop()
            if a == "(":
                break
    else:
        stack1.append(i)
result = "".join(stack1)  # ''.join(a)用于将序列中的元素以指定的字符连接生成一个新的字符串。
print(result)

运行效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值