Python Рекурсия в классе - PullRequest
0 голосов
/ 10 июля 2020

Эта программа будет проверять круглые скобки, правильно ли они закрыты или нет .. Эта программа хорошо работает в методе .. (ниже)

def validParameters(s):
    s = s.replace(" ",'')
    comp = ['{}','[]','()']
    if len(s) == 0:
        return True

    for i,j in zip(s,s[1:]):
        if i+j in comp:
            base = s.replace(i,'')
            base = base.replace(j,'')
            return validParameters(base)
        else:
            pass
    return False

, но при использовании класса я получаю ошибку «NameError : name 'validParameters' не определено "

class Solution:
    def validParameters(self, s: str) -> bool:
        if ' ' in s:
            s = s.replace(" ",'')
        comp = ['{}','[]','()']
        if len(s) == 0:
            return True

        for i,j in zip(s,s[1:]):
            if i+j in comp:
                base = s.replace(i,'')
                base = base.replace(j,'')
                return validParameters(base)
            else:
                pass
        return False

Я новичок в классе python, может ли кто-нибудь объяснить мне, как исправить эту ошибку?

1 Ответ

0 голосов
/ 10 июля 2020

validParameters() - это метод вашего класса, поэтому при доступе к нему изнутри метода вы должны использовать ключевое слово self, например,

self.validParameters(base)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...