Hirdetés

Új hozzászólás Aktív témák

  • cucka
    addikt

    Hi,

    Most izlelgetem ezt a nyelvet. De egy picit elakadtam. A feladat az lenne, hogy a megtalal() fv ha megtalálja a karakter-t akkor a visszatérő érték a pozició lesz. Ha meg nem találja meg a keresett karaktert akkor -1 -gyel kellene visszatérnie (de semmi esetre sem lehet 0 vagy pozitív érték)

    def megtalal(szoveg,karakter):
    i=0
    x=len(szoveg)
    while (x>=i):
    if (szoveg[i]==karakter):
    return i
    i=i+1
    return -1
    print megtalal('Julietta & Romeo','x')

    A hiba a while ciklusban van, ami egyel tovább fut, mint a stringed hossza.
    Egyébként ha már pythonban programozol, akkor nem érdemes pythonra lefordított turbo pascal kódot írni.
    Például pythonban könnyű végigiterálni bármin anélkül, hogy ciklusváltozóval b*szakodnál:

    def megtalal(szoveg, karakter):
    ret = -1
    for i,c in enumerate(szoveg):
    if c == karakter:
    ret = i
    break
    return ret

    (Az enumerate azért kell, hogy a string karakterei mellett azok indexét is megkapjuk, lásd a doksiban, hogy mit csinál pontosan. Ha erre nincs szükség, akkor elhagyható.)

    Azt rád bízom, hogy gondold végig, vajon fog-e ez menni unicode stringekkel (nem), hogy hogyan oldod meg a hibakezelést, stb. :)

Új hozzászólás Aktív témák