С проверкой на правильность расстановки скобок проблем нет, вот мое решение:
def isBalanced(file): with open(file) as f: strInput = f.read() if strInput: brackets = [ ('(',')'), ('[',']'), ('{','}')] kStart = 0 kEnd = 1 stack = [] for char in strInput: for bracketPair in brackets: if char == bracketPair[kStart]: stack.append(char) elif char == bracketPair[kEnd] and len(stack) > 0 and stack.pop() != bracketPair[kStart]: return False if len(stack) == 0: return True return False
Также я сделала небольшую функцию для поиска символа в тексте, функция возвращает номер колонки и строки искомого символа.
def line_col(symbol,file): with open(file) as myFile: for num, line in enumerate(myFile, 1): if symbol in line: idx = line.index(symbol) print ('symbol at line:', num,'symol at column:', idx)
Как объединить все воедино и заставить работать? У меня уже закончились идеи, помогите понять что делать дальше, пожалуйста.