Forum » Programiranje » Python branje iz slovarja
Python branje iz slovarja

filips ::
Imam to kodo:
S funkcijo toString bi rad da mi vrne tole:
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? 
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 ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Slo-Tech userscriptsOddelek: Izdelava spletišč | 5448 (2900) | jype |
» | Python končnica datotekeOddelek: Programiranje | 1257 (1172) | filips |
» | Python keyError 3Oddelek: Programiranje | 1290 (928) | filips |
» | Python napaka: IndentationError: unindent does not match any outer indentation levelOddelek: Programiranje | 887 (817) | jan_g |
» | [C++] for {}Oddelek: Programiranje | 1812 (1506) | Gundolf |