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
 1/17 anonim ***** válasza:
0%
A python nem ismeri a += egyenlő operátort. Használd helyette a régi inkrementálást: i=i+1!
2019. febr. 8. 14:13
Hasznos számodra ez a válasz?
 2/17 A kérdező kommentje:
koszi, megprobalom, de korabban ez sosem volt gond!
2019. febr. 8. 14:18
 3/17 anonim ***** válasza:
0%
Mert elrontottad.
2019. febr. 8. 14:26
Hasznos számodra ez a válasz?
 4/17 A kérdező kommentje:
na ne mond, tenyleeeg??? aztaaaaa, sose jottem volna rá 🤣🤣🤣
2019. febr. 8. 14:32
 5/17 anonim ***** válasza:
100%

De igen, ismeri a Python. (-> python assignment operators) A ++, -- operátort nem ismeri.

Másold ide behúzásokkal együtt, mondjuk aláhúzásjellel _ a sorok elején.

Amúgy Pythonban a string nem változtatható. Egy másolatot kell csinálnod az eredetiről úgy, hogy már az eredmény kerüljön bele, vagy listában is tárolhatod a karaktereket, az módosítható.

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

i+=1 az létezik a pythonban, i++ nem létezik


Ez lesz a probléma:

"vegso=len(ch)-1"


nem hivatkozhatsz a paraméterek között egy másik paraméterre

2019. febr. 8. 14:38
Hasznos számodra ez a válasz?
 7/17 A kérdező kommentje:

nekem is santit a vegso=len(ch)-1,de ennelkul sem jo. A feladat szerint kell ennek a parameternek egy alapertelmezett ertek. de akkor hogy?


-------------


"nem valtoztathato a string" - ez a problema, KÖSZÖNÖM! De akkor hogy? Tegyem listaba a karaktereket mar modositva? es utana higy iratom ki szokoz nelkul?


Alap kerdesek, de meg csak itt tartok... 😁

2019. febr. 8. 14:46
 8/17 anonim ***** válasza:

igen az is igaz, hogy a stringet nem tudod módosítani, átírhatod egy tömbre: arr=list(ch) az elején

a végén meg vissza: return ''.join(arr)

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

Így pl beállítható, hogy a végéig menjen alapból, de nem a legszebb megoldás. Nem tudom hogy lehet szépen megoldani:


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

if vegso==-1:

vegso=len(ch)-1

2019. febr. 8. 14:48
Hasznos számodra ez a válasz?
 10/17 A kérdező kommentje:

ezer koszonet! :)

a tomboket meg nem tanultam, ergo kell lennie mas megoldasnak is... DE koszonom!!!

2019. febr. 8. 14:53
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!