sms=['Szentírás ', 'bölcs ', 'a ', 'már ', 'szükséges ', 'mondhat ', 'biztosak ', 'a ',
'feladata, ', 'Mivel ', 'ellent ', 'a ', 'érzéki ', 'azokkal ', 'következtetésekkel, ',
'a ', 'vagyunk ', 'a ', 'tapasztalataink ', 'szöveg ', 'azon ', 'igazság ', 'sose ',
'ami ', 'hogy ', 'melyekben ', 'kísérletek ', 'megtalálják ', 'által.', 'két ', 'fizikai ',
'egymásnak, ', 'egyezik ', 'és ', 'értelmezőinek ', 'értelmezését, ']
Később a telefonszolgáltató megtalálta a hiba okát, és elküldte, hogy milyen sorrendben kaptuk meg az eredeti szöveg szavait:
sorrend=[8,9,15,26,33,4,27,11,12,0,5,32,29,21,24,22,28,7,30,16,17,2,3,19,13,25,34,14,35,1,23,6,20,31,10,18]
Azaz az általunk megkapott első szó az eredeti szövegben a 8-as indexet viselte, azaz a 9. volt.
Írj egy olyan programot, ami helyreállítja az idézetet, valamint össze is fűzi a lista elemeit egy mondattá.
Először, létrehozunk egy üres listát, ebbe, fogjuk belepakolni a szavakat a jó sorrendben:
ujsms = list()
Ehhez, ezután hozzáadjuk a szavakat a megfelelő sorrendben.
for i in range(0, len(sms)): # Az ujsms i. elemét for-ciklus segítségével választjuk ki.
ujsms += [sms[sorrend.index(i)]] # Az ujsms lista i indexű elemének indexe az sms listában megegyezik a i indexével a sorrend listában.
Végül pedig az ujsms
lista szavait sorban beírjuk egy string-be, amit már gond nélkül elolvashatunk
text = "" # Először létrehozunk egy üres stringet.
for s in ujsms: # Majd egy for-ciklussal végigmegyünk az ujsms elemein...
text += (s + " ") # amiket hozzáadunk a már meglévő szöveghez, szóközzel elválasztva.
text[:-1] # Végül kiíratjuk. (Mivel a for-ciklus az utolsó szó után is tett szóközt, azza nem vagyunk kíváncsiak)