请问谁能说明一下POP()函数可以在if的条件里运行?
if dic[stack.pop()] != c: # pop命令可以在if条件句里运行
s = '{{[[(]]}()}'
def isvalid( s):
dic = {'{': '}', '['::']', '(': ')', '?': '?'}
stack = ['?']
for c in s:
if c in dic:
print(c)
stack.append(c)
print(stack)
elif dic[stack.pop()] != c: # pop命令可以在if条件句里运行
print(stack+['!'])
return False
return len(stack) == 1
l = isvalid(s=s)
print(l)
只要返回值是布尔类型的,true或者false,都可以作为if条件
为啥不可以呢, pop() 方法默认删除并返回最后一个元素,他是有返回值的呀,包括我们的if判断他的条件都可以写表达式,或者说一些复杂的表达式,它会先计算,然后产生最终的结果,就是if的判断条件。
有帮助的话采纳一下哦!