Hallo vielen Dank im Voraus.Index außerhalb des Bereichs verstehen Python
Ich kann meinen Code zu arbeiten, aber ich brauche Hilfe zu verstehen, was das Problem ist.
Ich mache einen Test Fragen zu Codingbat und stieß auf diesen.
Geben Sie an, wie oft die Zeichenfolge "code" an einer beliebigen Stelle in der angegebenen Zeichenfolge angezeigt wird. Akzeptieren Sie einen beliebigen Buchstaben für "d", also "cope" und "coee".
count_code ('aaacodebbb') → 1 count_code ('codexxcode') → 2 count_code ('cozexxcope') → 2
jetzt nach ein paar Versuchen ich meinen Code an die Arbeit
def count_code(str): count =0 for i in range(len(str)): if str[i:i+2] == 'co' and str[i+3:i+4]=='e': count += 1 return count print(count_code('codecodecode'))
^ich verstehe diese (und ich reguläre Ausdrücke getan haben könnte, aber ich kann nicht importieren)
dieseAber mein erster Versuch war:
def count_code(str): count =0 for i in range(len(str)): if str[i:i+2] == 'co' and str[i+3]=='e': count += 1 return count print(count_code('codecodecode'))
der Browser (der Browser speichert, kompiliert und ausgeführt wird) gab mir einen Index außerhalb des zulässigen Bereichs Fehler und nach dem Test verstehe ich, warum. wenn i = 9 ... i + 9 = 12 was länger ist als die Saite also außerhalb der Reichweite, bekomme ich es. Aber ich habe den 2. Code in Aptana ausgeführt und es hat gut funktioniert, also ist der zweite schlechte Code oder nicht?
aber der Code, der mit str [i + 3: i + 4] == 'e' funktioniert nicht außerhalb der Reichweite und ich verstehe nicht warum. Wenn ich Zähler 9 erreiche, wäre es str [12:13], das länger ist als die Saite.
danke für die Hilfe immer noch Grundlagen zu lernen und möchte sicherstellen, dass ich eine gute Grundlage habe.
dank beiden Antworten. beide halfen es dem 1. zu geben. – Atropos