Python kezdő help: karakter megfordításnál elakadtam

Re
Nemrég kezdtem a Pythonal ismerkedni, és kicsit elakadtam az alábbi feladatnál, amely azt kéri, hogy defináljunk egy függvényt, amely megfordítja az argumentumként megadott karakter sorrendjét...

Az én (hibás)programom itt:

>>> def fordit(szo):
x = len(szo)
i = x
betu = ''
vissza = ''
while i > 1:
szo[i] = betu
vissza = vissza + betu
i = i -1
return vissza

>>> a = 'pd'
>>> fordit(a)

A hibaüzenet meg ez:

Traceback (most recent call last):
File "
", line 1, in -toplevel-
fordit(a)
File "
", line 7, in fordit
szo[i] = betu
TypeError: object does not support item assignment

Vki tudna segíteni? Előre is köszönöm

Hozzászólások

A behúzások sehogysem jelennek meg...

Szerintem a Python első nyelvnek is nagyon jó.
Javaslom nézz meg néhány általános algoritmusokat oktató irodalmat is.
Pl: http://zeus.nyf.hu/~akos/adatszerk/adatszerk.ppt
http://zeus.nyf.hu/~akos/adatszerk/adatszerk.doc
Igaz ugyan, hogy Turbo Pascal nyelven adja a példákat, de az elég könnyen érthető.
Vagy ezt http://www.cs.bme.hu/~kiskat/algel/

Itt a te programod működő változata:

def fordit(szo):
x = len(szo)
i = x-1 # Mert a tömbindex 0-tól indul
betu = ''
vissza = ''
while i >= 0 :
betu = szo[i]
vissza = vissza + betu
i = i - 1
return vissza

a = 'abc'
print fordit(a)

# Persze a tabulátorokat a fórummotor elnyeli.

Ugyan nem pontosan a kérdésedre a válasz, de azt hiszem a legegyszerűbb megoldás:

bash-3.00$ python
Python 2.4.2 (#1, Sep 29 2005, 15:28:01)
[GCC 4.0.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> s = "abcdef"
>>> s[::-1]
'fedcba'
>>>

hello

lenne egy kérdésem

nem értem, hogy miért nem megy az alábbi program:

a = [ 1 , 2 ] # elso tomb
b = [ 4 , 3 ] # masodik tomb
i = 0 # ideiglenes tarolo
n = 0 # szamlalo, a[n] illetve b[n] a lenyeg
m = 0 # max szama az a tombnek

# START
m = len ( a )

while ( ( n - 1 ) != m ):
__i = a [ n ]
__b [ n ] = i
__n = n + 1

print b

tulajdonképpen bármilyen program amivel próbálkoztam azzal ugyanitt akadok el: tombböl tömbbe nem tudok másolni.

Traceback (most recent call last):
File "int.py", line 16, in ?
i = a [ n ]
IndexError: list index out of range

hogyan lehetne megoldani a másolást?
a segitseget elore is köszönöm

>>>
>>> s1 = [1,2,3,4,5]
>>> s2 = [11,22,33,44,55,66]

>>> s1[3:4]=s2[1:3]

>>> s1
[1, 2, 3, 22, 33, 5]
>>>

flame on
A C,C++,Pascal,Java stb.-ben megszokott megoldásoknál (csinálok egy jó kis while/for ciklust) általában vannak elegánsabb módok.
flame off

Olvasd el (jó alaposan) a tutorial-t és a library reference-ből a második fejezetet.
Csak érdekességként:
http://www.python.org/doc/essays/list2str/

Szerintem fontos - rövid - olvasmányok még:
http://www.python.org/doc/essays/styleguide/
http://www.python.org/dev/peps/pep-0020/