python: variable not getting defined after several conditionals

Posted by Protean on Stack Overflow See other posts from Stack Overflow or by Protean
Published on 2010-03-12T00:15:02Z Indexed on 2010/03/12 0:47 UTC
Read the original article Hit count: 480

Filed under:
|
|
|

For some reason this program is saying that 'switch' is not defined. What is going on?

#PYTHON 3.1.1
class mysrt:
        def __init__(self):
            self.DATA = open('ORDER.txt', 'r')
            self.collect = 0
            cache1 = str(self.DATA.readlines())
            cache2 = []
            for i in range(len(cache1)):
                if cache1[i] == '*':
                    if self.collect == 0: self.collect = 1
                    elif self.collect == 1: self.collect = 0
                elif self.collect == 1:
                    cache2.append(cache1[i])
            self.ORDER = cache2
            self.ARRAY = []
            self.GLOBALi = 0
            self.GLOBALmax = range(len(self.ORDER))
            self.GLOBALc = []
            self.GLOBALl = []
        def sorter(self, array):
            CACHE_LIST_1 = []
            CACHE_LIST_2 = []
            i = 0
            for ORDERi in range(len(self.ORDER)):
                for ARRAYi in range(len(array)):
                    CACHE = array[ARRAYi]
                    if CACHE[self.GLOBALi] == self.ORDER[ORDERi]:
                        CACHE_LIST_1.append(CACHE)
                    else:
                        CACHE_LIST_2.append(CACHE)
                for i in range(len(CACHE_LIST_1)):
                    if CACHE_LIST_1[0] == CACHE_LIST_1[i] or range(len(CACHE_LIST_1)) == 1:
                        switch = 1
                        print ('1')
                    else:
                        switch = 0
                        print ('0')
                        break
                if switch == 1:
                    self.GLOBALl += CACHE_LIST_1 + self.GLOBALc
                    self.GLOBALi = 0
                    self.GLOBALc = []               
                else:
                    self.GLOBALi += 1 
                    self.GLOBALc += CACHE_LIST_2
                    mysrt.sorter(CACHE)
            return (self.GLOBALl)

                #GLOBALi =0
                    # if range(len(self.GLOBALc)) =! range(len(self.ARRAY))
    array = ['ape', 'cow','dog','bat']
    ORDER_FILE = []        
    mysort = mysrt()       
    print (mysort.sorter(array))

© Stack Overflow or respective owner

Related posts about python

Related posts about python-3.x