Python|只含有括号的字符串是否有效

问题描述给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:1.左括号必须用相同类型的右括号闭合。2.左括号必须以正确的顺序闭合。示例1:输入:[]输出:字符串中括号有效 示例2:输入:(]输出:字符串中括号无效解决方案1)定义一个函数,输入字符串,首先判断字符串是否为空字符串,若为空,则不符合题意,打印无效。def str():str = input(“请输入一个只包括‘(’,’)’,‘[‘,’]’,’{‘,’}’”的字符串:)if str.strip() == ‘’:     print(“字符串无效”)2)判断字符串中括号的个数,若为单数那必定是无效。if len(str.strip()) > 0:if len(str) % 2 == 1:      print(‘字符串无效’)3)判断字符串中的括号是否为相同类型闭合,是否按照正确的顺序闭合。if len(str) % 2 == 0:     for i in range(int(len(str))):         for j in range(len(str) - 2):        x1 = str[j] == ‘(‘ and str[j + 1] ==  ‘)’        x2 = str[j] == ‘[‘ and str[j + 1] ==  ‘]’        x3 = str[j] == ‘{‘ and str[j + 1] ==  ‘}’        if x1 or x2 or x3:             str = str[:j] + str[j + 2]            break    if  len(str) == 2:         d = [‘()’,’[,]’,’{,}’]        if str not in d:             print(‘字符串中的括号无效’)         else:             print(‘字符串中的括号有效’)    if  len(str) > 2:         print(‘字符串中括号无效’)4)最后打印出str()就行

图3.1 运行流程结语此题主要需要想办法判断括号左右是否符合条件,在合适的地方跳出循环,判断字符串的长度即可,多思考多尝试对此类题也会有更深的理解。实习编辑:刘凤莲稿件来源:深度学习与文旅应用实验室(DLETA)

(0)

相关推荐