簡體   English   中英

Python Class 中的遞歸

[英]Python Recursion in Class

該程序將驗證括號是否正確關閉..該程序在方法中運行良好..(在下面)

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

但通過使用 class 我收到“NameError:名稱'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 中 class 的新手,誰能解釋我,如何糾正這個錯誤?

validParameters()是您的 class 的方法,因此從方法內部訪問它時,您必須像這樣使用self關鍵字

self.validParameters(base)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM