coderrrrrrrrrr12 Ответов: 1

Ошибка в интерпретации


Это дает сообщение об ошибке сказав isbalanced неопределено

Что я уже пробовал:

class Check:
    def isbalanced(self,s):
        a=len(s)
        count=0
        for i in range(0,a):
            if s[i]=='(':
                count=count+1
            else:
                count=count-1
        if count>0:
            return False
        else:
            return True
    def callin(self,s1,s2):
        if (isbalanced(s1+s2)):
            return True
        else:
            return isbalanced(s2+s1)
c=input("Enter string\n")
d=input("Enter string\n")
if (callin(c,d)):
    print("Balanced")
else:
    print("Not Balanced")

1 Ответов

Рейтинг:
9

Richard MacCutchan

Попробовать это:

class Check:
    def isbalanced(self,s):
        a=len(s)
        count=0
        for i in range(0,a):
            if s[i]=='(':
                count=count+1
            else:
                count=count-1
        if count>0:
            return False
        else:
            return True
    def callin(self,s1,s2):
        if (self.isbalanced(s1+s2)):    # note correct use of self. prefix
            return True
        else:
            return self.isbalanced(s2+s1) # ditto

c=input("Enter string\n")
d=input("Enter string\n")
foo = Check()    # create an instance of the Check class

if (foo.callin(c,d)):    # call the callin method on the class instance
    print("Balanced")
else:
    print("Not Balanced")