Kezdőoldal » Számítástechnika » Programozás » Miért nem működik a Python...

Miért nem működik a Python függvényem? Légyszí oktassatok ki!

Figyelt kérdés

Egy adott karakterláncban kellene minden ca1 karaktert ca2 karakterre kicserelnie a kezdo indextol a vegsoig.

Ezt kreáltam:

def karaktercsere(ch,ca1,ca2,kezdo=0,vegso=len(ch)-1):

i=kezdo

while i<=vegso:

if ch[i]==ca1:

ch[i]=ca2 #itt a bibi

i+=1

return ch


szoveg="valami valamikor"

csere=karaktercsere(szoveg,'a','e',0,10)

print(csere)



2019. febr. 8. 14:08
1 2
 11/17 anonim ***** válasza:

# nagyon csúnya megoldással:

# (nem próbáltam ki, szóval lehet benne hiba)

i=kezdo

ch2=ch

while i<=vegso:

_if ch[i]==ca1:

__ch2=ch2[kezdo:i-1] + ca2 + ch2[i+1:-1]

_i+=1

return ch2

2019. febr. 8. 15:08
Hasznos számodra ez a válasz?
 12/17 anonim ***** válasza:
..Egyébként ilyenkor nem módosítod, hanem egy másolat készül, amire ugyanaz a változónév fog mutatni, az előző stringet pedig eldobja a rendszer.
2019. febr. 8. 15:10
Hasznos számodra ez a válasz?
 13/17 anonim ***** válasza:

Mondtam, hogy elrontom! :)

__ch2=ch2[:i-1] + ca2 + ch2[i+1:]

De azért ellenőrizd.

2019. febr. 8. 15:19
Hasznos számodra ez a válasz?
 14/17 anonim ***** válasza:

1) Egyáltalán miért while-t használsz? Fölöslegesen az egész túl van komplikálva.

Egy string (és nem karakterlánc, az ilyen magyarított kifejezéseket meg ámblokk a magyar változóneveket felejtsd el, gusztustalan és nem is clean) nem módosítható így.

Stringben egyszerűen így lehet karaktert átcserélni:


mytext = 'hüje'

mytext = mytext.replace('j', 'ly')

print(mytext)

2019. febr. 8. 15:45
Hasznos számodra ez a válasz?
 15/17 anonim ***** válasza:
100%
(Igen, de gondolom ő az algoritmusokat gyakorolná.)
2019. febr. 8. 15:54
Hasznos számodra ez a válasz?
 16/17 anonim ***** válasza:

Akkor listává kell alakítani, for ciklussal végigiterálni aztán újra összefűzni stringgé.

Alapvetően itt fő gond, hogy a kérdező a while meg a for közti különbséget se érti.

2019. febr. 8. 16:03
Hasznos számodra ez a válasz?
 17/17 anonim ***** válasza:
100%

> "a tomboket meg nem tanultam"

A Pythonban olyan beépített típusok vannak erre, hogy list, tuple, dictionary, ezeknek nézz majd utána. Tömb helyett neked a list fog kelleni.

2019. febr. 8. 16:30
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!