i, ii 如果是一对括号 返回True,反之返回False
是否可以用 in 进行实现?
import random
i = random.choice('({[')
ii = random.choice(')}]')
print(i,ii) # i, ii 如果是一对括号 返回True
if (i == '(' and ii == ')') or (i == '{' and ii == '}') or (i == '[' and ii == ']'):
print(True)
else:
print(False)
两种办法,in和字典方式实现
import random
i = random.choice('({[')
ii = random.choice(')}]')
print(i, ii)
if i+ii in ['()', '{}', '[]']:
print(True)
else:
print(False)
第二种办法:用字典
import random
i = random.choice('({[')
ii = random.choice(')}]')
print(i, ii)
brackets = {'()': True, '{}': True, '[]': True}
if i+ii in brackets:
print(True)
else:
print(False)
可以用in ;in可用于判断列表中是否存在元素 和字符串中是否存在某个字符
可以的,for(I+ii)in[]
可以,就是不直观[狗头.jpg]
if ord(ii) - ord(i) in (1, 2):
print(True)
else:
print(False)
直观点是这样
if i + ii in ('()', '[]', '{}'):
print(True)
else:
print(False)
不知道你这个问题是否已经解决, 如果还没有解决的话:问题标题: 判断一对括号是否匹配有其他解决方法吗? 问题标签: python
问题内容:
import random
i = random.choice('({[')
ii = random.choice(')}]')
print(i,ii) # i, ii 如果是一对括号 返回True
if (i == '(' and ii == ')') or (i == '{' and ii == '}') or (i == '[' and ii == ']'):
print(True)
else:
print(False)
请问还有没有其他的方法可以实现判断一对括号是否匹配?是否可以使用in
操作符来实现?
回答: 可以使用栈来判断一对括号是否匹配,使用in
操作符也是可以实现的。
使用栈的方法如下所示:
下面是使用栈实现的代码示例:
def is_valid_parentheses(s):
stack = []
for char in s:
if char == '(' or char == '[' or char == '{':
stack.append(char)
else:
if len(stack) == 0:
return False
top = stack.pop()
if (top == '(' and char != ')') or (top == '[' and char != ']') or (top == '{' and char != '}'):
return False
return len(stack) == 0
# 测试
print(is_valid_parentheses("()")) # True
print(is_valid_parentheses("()[]{}")) # True
print(is_valid_parentheses("(]")) # False
print(is_valid_parentheses("([)]")) # False
使用in
操作符也可以实现判断一对括号是否匹配的功能,代码如下:
def is_valid_parentheses(s):
while '()' in s or '[]' in s or '{}' in s:
s = s.replace('()', '').replace('[]', '').replace('{}', '')
return s == ''
# 测试
print(is_valid_parentheses("()")) # True
print(is_valid_parentheses("()[]{}")) # True
print(is_valid_parentheses("(]")) # False
print(is_valid_parentheses("([)]")) # False
以上就是两种判断一对括号是否匹配的方法。