String-Länge ohne len-Funktion
Kann mir jemand sagen wie bekomme ich die Länge eines Strings ohne die Verwendung der len()
- Funktion oder einer string-Methoden. Bitte mir jemand sagen, wie ich bin klopfen mein Kopf wie verrückt für die Antwort.
Danke.
- 100% sicher ist es, da es die Anforderung gibt, für die nicht wollen, verwenden Sie
len()
- Hallo, wie kann ich etwas Essen, aber ohne Essen in mein Mund und iv Flüssigkeiten sind als Betrug bitte mir jemand helfen, ich m goin verrückt
- Es sollte eine Anforderung, dass Hausaufgaben-Fragen umfassen student ' s Versuch so weit, da Sie sonst geschlossen werden sollten, mit ein Grund, um den Geist der "Hausaufgaben ohne Versorgung Fortschritte, so weit". Bereitstellen einer Antwort nur Gewinne einige Ruf-Punkte, aber untauglich für die Zukunft Durchschnittsnote der Studenten(s).
- Ich sehe keinen Grund, niederstimmen, auch wenn es Hausaufgaben, die erste Antwort bekam 16 upvote, es bedeutet etwas @GlennMaynard
- Es scheint, dass einige Professoren wollen Studenten zu tun, Dinge "falsch" zu lernen, aus dem Innenleben...mit der bedauerlichen Konsequenz, dass die Programme sind irritierend und verwirrend. Wenn dies ist ein Ort, fördert das lernen, dann ich bin nicht einverstanden mit der Haltung, dass dies ist eine schlechte Frage. Ich Stimme mit @mou.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen "Zungenbrecher"
einige rekursive Lösungen
get_string_length(s)
scheint, erinnert an Haskell...Hier ist ein O(1) - Methode:
In anderen Worten, es funktioniert nicht, durch zählen der Zeichen, so sollte nur so schnell für eine 1-GB-string, wie es für einen 1-byte-string.
Es funktioniert durch die Suche auf das Letzte Zeichen und das suchen von Ende zu finden, dass den Charakter. Da es das Letzte Zeichen wird immer am ersten Ort sieht es aus, im wesentlichen immer die Rückgabe der index des letzten Zeichens. Die Länge ist nur eine mehr als der index des letzten Zeichens.
rindex
ist einstr
Methode --- BBBZZZZZZZTTTTTstr
Methoden? Der OP nur gesagt, nicht zu verwendenstring
Methoden.Warum Sie müssen vermeiden Sie den len-Funktion ist mir schleierhaft, aber strings sind iterables. Sie sollten in der Lage sein, dies zu tun:
Ich bin neu in python, aber ich würde sagen, dass man die Länge der Zeichenfolge mit einer for-Schleife, zum Beispiel statt:
hierzu:
Versuchen, dies zu tun, seine ziemlich einfach und leicht
einfach:
Es ist eine komische Frage, also hier ist eine seltsame Antwort!
Wenn die Zeichenfolge enthält neue Zeilen
Machen Sie eine Datei-wie-Objekt aus dem string, Lesen Sie das gesamte Objekt, dann erzählen Sie Ihren offset:
Hier ist eine Methode, die nicht mit weder
len
noch iteration:Machen es Arbeit für Listen, die nicht
rindex
verwenden:Mithilfe der while-Schleife
Nicht sehr effizient, aber sehr prägnant:
Hier ist ein Weg, es zu tun durch zählen der Anzahl der vorkommen der leeren Zeichenkette innerhalb des string:
Seit
"".count("")
gibt 1 zurück, Sie müssen subtrahieren Sie 1, um die string-Länge.count
ist einstr
Methode --- BBBZZZZZZZTTTTTstr
. Die Aufgabe, die nur sagt nicht zu verwendenstring
Methoden.Dieser code überprüft die Länge einer Zeichenkette zu zählen, bis ""(Ende des Strings ).Wenn der string hat eine Ende, wird die Schleife bricht und wird wieder die endgültige Länge der Zeichenfolge.
if
ist völlig unnötig (und zeigt, dass Sie nicht wissen, wie der Iteration über Saiten funktioniert, die in python). Warum genau würdest du post eine schlechte Antwort auf eine 5 Jahre alte Frage, die schon mehr als erschöpfend beantwortet?