» »

Python branje iz slovarja

Python branje iz slovarja

filips ::

Imam to kodo:
def toString(className='',addclass='',addnoclass=''): #popravi vrstni red izpisovanja
    '''change to type string'''
    global status
    global string
    global komentar
    global classShow
    global otherShow
    global value
    if status!=0:
        if classShow=='' or otherShow=='':
            status_message=language.showClassShowOther
            status=0
        else:
            if classShow==1:
                string += "class {}:\n    ".format(className)
                try:
                    komentar[0]
                except KeyError:
                    komentar[0]=None
                if komentar[0] is None:
                    pass
                else:
                    string +="#{}\n    ".format(komentar[0])
                for k, v in value.items():
                    if(v[1] == ''):
                        string += "global {}\n    {} = '{}'\n    ".format(k,k,v[0])
                    else:
                        string += "global {}\n    {} = '{}' #{}\n    ".format(k,k,v[0],v[1])	
                    try:
                        komentar[v[2]]
                    except KeyError:
                        komentar[v[2]]=None
                    if komentar[v[2]] is None:
                        pass
                    else:
                        string += "\n    #{}\n    ".format(komentar[v[2]])
                if addclass!='':
                    string +="\n    {}\n    ".format(addclass)
                    string +="\n"
            if otherShow==1:
                try:
                    komentar[0]
                except KeyError:
                    komentar[0]=None
                if komentar[0] is None:
                    pass
                else:
                    string += "#{}".format(komentar[0])
                for k, v in value.items():
                    if v[1] == '':
                        string += "\n{} = '{}'".format(k,v[0])
                    else:
                        string += "\n{} = '{}' #{}".format(k,v[0],v[1])
                    try:
                        komentar[v[2]]
                    except KeyError:
                        komentar[v[2]]=None
                    if komentar[v[2]] is None:
                        pass
                    else:
                        string += "\n\n#{}".format(komentar[v[2]])
                if addnoclass!='':		
                    string += "\n{}".format(addnoclass)
            return string
Spremenljivke imam value={'a': ['b', 'c', 1], 'a2': ['b2', 'c2', 2], 'a3': ['b3', 'c3', 3]} in komentar={0: '00', 1: '01', 2: '02', 3: None}
S funkcijo toString bi rad da mi vrne tole:
class className:\n    #00\n    global a\n    a = 'b' #c\n    \n    #01\n    global a2\n    a2 = 'b2' #c2\n    \n    #02\n    global a3\n    a3 = 'b3' #c3\n    \n    addclass\n    \n\n#00\na = 'b' #c\n#01\na2 = 'b2' #c2\n#02\na3 = 'b3' #c3\n\naddnoclass
torej bi napisalo:
class className:
    #00
    global a
    a = 'b' #c

    #01
    global a2
    a2 = 'b2' #c2

    #02
    global a3
    a3 = 'b3' #c3

    addclass


#00
a = 'b' #c
#01
a2 = 'b2' #c2
#02
a3 = 'b3' #c3

addnoclass
če pa zaženem to kodo pa mi napiše s čisto premešanim vrstnim redom kot je:
class className:
    #00
    global a3
    a3 = 'b3' #c3
    global a2
    a2 = 'b2' #c2
    
    #02
    global a
    a = 'b' #c
    
    #01
    
    addclass
    
#00
a3 = 'b3' #c3
a2 = 'b2' #c2

#02
a = 'b' #c

#01
addnoclass
kaj naj naredim, da bo napisalo, tako kot bi jaz želel?

filips ::

Odgovor prosim čim prej

smacker ::

Za google in stackoverflow si že slišal? Ko imaš problem je nekdo pred tabo že skoraj sigurno mel podoben problem, zato preden sprašuješ, vtipkaj v google. Sry, kode nisem gledal kerje obup.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Slo-Tech userscripts

Oddelek: Izdelava spletišč
175169 (2621) jype
»

Python končnica datoteke

Oddelek: Programiranje
51099 (1014) filips
»

Python keyError 3

Oddelek: Programiranje
141186 (824) filips
»

Python napaka: IndentationError: unindent does not match any outer indentation level

Oddelek: Programiranje
13780 (710) jan_g
»

[C++] for {}

Oddelek: Programiranje
291706 (1400) Gundolf

Več podobnih tem