编写一个程序,判断用户输入的圆括号和括号是否被正确嵌套。
def check_nested_parentheses(input_string):
stack = []
for char in input_string:
if char == '(' or char == '[' or char == '{':
stack.append(char)
elif char == ')' or char == ']' or char == '}':
if len(stack) == 0:
return False
if char == ')' and stack[-1] == '(':
stack.pop()
elif char == ']' and stack[-1] == '[':
stack.pop()
elif char == '}' and stack[-1] == '{':
stack.pop()
else:
return False
return len(stack) == 0
input_str = input("请输入圆括号和括号:")
if check_nested_parentheses(input_str):
print("括号和圆括号被正确嵌套")
else:
print("括号和圆括号未被正确嵌套")
这个程序使用了栈的数据结构来判断括号和圆括号是否被正确嵌套。遍历输入字符串,如果遇到左括号或圆括号,则将其入栈;如果遇到右括号或圆括号,则与栈顶元素进行匹配,如果匹配成功,则将栈顶元素出栈,否则返回False。最后,检查栈是否为空,如果为空则表示括号和圆括号被正确嵌套,否则表示未被正确嵌套。
这个程序的应用场景是在编程中对括号和圆括号的嵌套进行检查,例如在编写代码时,可以使用该程序来验证括号和圆括号的正确性,避免出现语法错误。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云