jam*_*ean -2 python if-statement
我正在尝试解决从字符串中删除HTML标记的问题.我意识到正则表达式是一个更好的解决方案,但我想弄清楚这里出了什么问题.
我们的想法是假设我们使用'tag'监视标记,并通过比较每个char的值来修改它的值.
问题是,tag的值永远不会改变:
def remove_tag(s):
tag = True
for c in s:
print "c = %s" % c
if (c == '<'):
print 'start_tag'
tag == True
print tag
elif (c == '>'):
print 'end tag'
tag == False
print tag
Run Code Online (Sandbox Code Playgroud)
运行:
remove_tag("<h1>Title</h1>")
Run Code Online (Sandbox Code Playgroud)
生产:
c = <
start_tag
True
c = h
c = 1
c = >
end tag
True
c = T
c = i
c = t
c = l
c = e
c = <
start_tag
True
c = /
c = h
c = 1
c = >
end tag
True
None
Run Code Online (Sandbox Code Playgroud)
我很困惑为什么打印'结束标记'但是'False'值没有被赋值给标记.
这些行是比较,而不是作业:
tag == True
tag == False
Run Code Online (Sandbox Code Playgroud)
你要
tag = True
Run Code Online (Sandbox Code Playgroud)