我希望能够将所有括号配对成一个字符串,如果它们没有配对,那么它们会得到它们的索引号和False.似乎它一遍又一遍地重复一些值,即cl == pop [1].我试图看看问题出在哪里,但无论我怎么努力,我都看不到它.所以我问是否有人帮助我找到错误,甚至可能改进我的代码;)
def check_parentheses(string):
pending = 0
brackets = []
'''Checks if parens are paired, otherwise they are bad.'''
parenstack = collections.deque()
for ch in string:
if ch in lrmap:
try:
cl = string.index(ch, pending)
pending = cl + 1
except:
cl = False
if ch in lparens:
parenstack.append([ch, cl])
print parenstack
elif ch in rparens:
try:
pop = parenstack.pop()
if lrmap[pop[0]] != ch:
print 'wrong type of parenthesis popped from stack',\
pop[0], ch, pop[1], cl
brackets.append([pop[1], False]) …Run Code Online (Sandbox Code Playgroud) 当我打开网址并阅读它时,我无法识别它.但是,当我检查内容标题时,它表示它被编码为utf-8.因此我尝试将其转换为unicode并且它抱怨UnicodeDecodeError:'ascii'编解码器无法使用unicode()解码位置1中的字节0x8b:序号不在范围(128)中.
.encode("utf-8")产生UnicodeDecodeError:'ascii'编解码器无法解码位置1的字节0x8b:序数不在范围内(128)
.decode("utf-8")产生UnicodeDecodeError:'utf8'编解码器无法解码位置1的字节0x8b:无效的起始字节.
我已经尝试了所有我能想到的东西(我对编码不是很擅长)
如果我能让这个工作,我会很高兴.谢谢.