你可以使用栈来解决这个问题。以下是一个示例程序,它检查输入字符串中是否缺少开括号:
def check_valid_input(input_string):
stack = []
for char in input_string:
if char == "(":
stack.append(char)
elif char == ")":
if len(stack) == 0:
print("无效输入")
return
stack.pop()
if len(stack) != 0:
print("无效输入")
else:
print("输入有效")
# 测试
check_valid_input("((2+3)+(4+5))") # 输入有效
check_valid_input("((2+3)+(4+5)") # 无效输入
check_valid_input("2+3)+(4+5))") # 无效输入
在这个示例程序中,我们使用一个栈来存储遇到的开括号。每当遇到一个开括号时,我们将其压入栈中。每当遇到一个闭括号时,我们检查栈是否为空。如果栈为空,说明缺少开括号,打印"无效输入"并返回。如果栈不为空,我们将一个开括号从栈中弹出。
在循环结束后,我们再次检查栈是否为空。如果栈不为空,说明缺少闭括号,打印"无效输入"。否则,打印"输入有效"。
你可以根据需要修改这个示例程序,以适应你的具体要求。