-die Schleife sucht nach der 1. Position "ei",
-gibt die Position aus mit print
-sucht nach der nächsten Position von "ei"
-gibt diese aus mit print
- sucht bis zur letzten Position gibt diese aus und bricht dann ab
so eigentlich ganz einfach, bekomme es nur nicht umgesetzt
String find und Position finden
Zur Beschreibung fehlt noch die genaue Struktur. 1. der Startwert, 2. die Abbruchbedingung, dann das was in der Schleife passiert und zum Schluss der Sprung zur der Zeile, wo der nächste Schleifendurchgang stattfindet. Versuch dann jeden einzelnen Schritt in Python auszudrücken.
Zuletzt geändert von Sirius3 am Sonntag 25. März 2018, 16:45, insgesamt 1-mal geändert.
Habe es doch jetzt schon öfter gesagt, ich kann es nicht in Python ausdrücken, sonst würde ich ja nicht fragen.
Vielleicht einfach mal die Lösung, mit der ich mich dann an einer neuen Aufgabe versuchen kann?
Vielleicht ein blödes Beispiel, aber ich könnte dir Stichworte geben, um einen tödlichen Verkehrsunfall aufzunehmen, deshalb könntest du es aber in der Praxis trotzdem nicht.
ich weiß theoretisch auch, was die Schleife machen muss, kann es aber nicht umsetzen.
Vielleicht einfach mal die Lösung, mit der ich mich dann an einer neuen Aufgabe versuchen kann?
Vielleicht ein blödes Beispiel, aber ich könnte dir Stichworte geben, um einen tödlichen Verkehrsunfall aufzunehmen, deshalb könntest du es aber in der Praxis trotzdem nicht.
ich weiß theoretisch auch, was die Schleife machen muss, kann es aber nicht umsetzen.
Wir haben dir diverse Hilfestellungen gegeben, um dein Problem gedanklich so zu durchdringen, dass du es lösen kannst. Wenn wir dir das einfach programmieren, dann lernst du nix. Genausowenig wenn du immer jemand anders bittest, deine Unfallaufnahme zu machen - dann kannst du es auch nicht selbst.
Aber da du offensichtlich nicht willens bist, daran wirklich rumzuknobeln...
Aber da du offensichtlich nicht willens bist, daran wirklich rumzuknobeln...
Code: Alles auswählen
positions = []
offset = 0
while True:
pos = haystack.find(needle, offset)
if pos == -1:
break
positions.append(pos)
offset = pos + 1
Das mit der Unfallaufnahme hast du wohl falsch verstanden, das kann ich und wenn ich dir Stichworte gebe, kannst du es trotzdem nicht alleine, nur das wollte ich damit sagen.
Die Hälfte der Begriffe in deinem Programm lese ich heute das erste Mal und sind somit in dem Buch noch gar nicht aufgetaucht,
wie hätte ich das schaffen sollen?
Aber trotzdem danke für die Mühe und werde nun versuchen, deine Lösung anzuwenden.
Die Hälfte der Begriffe in deinem Programm lese ich heute das erste Mal und sind somit in dem Buch noch gar nicht aufgetaucht,
wie hätte ich das schaffen sollen?
Aber trotzdem danke für die Mühe und werde nun versuchen, deine Lösung anzuwenden.
@andreasp: beim Programmieren muß man lernen, wie ein Computer denkt. Das ist erstmal unabhängig von der Programmiersprache. Ein »gib die Position aus mit print« läßt sich dann einfach in »print(position)« umwandeln, und das hättest Du bestimmt hinbekommen. Dagegen ist ein »sucht bis zur letzten Position gibt diese aus und bricht dann ab« ist für einen Computer viel zu kompliziert und kann nicht einfach in Python übersetzt werden. Daher meine Frage, das besser zu strukturieren und dann ist der nächste Schritt, dem eigentlichen Programmieren einfach.
Was __deets__ geschrieben hat, ist dann schon (fast) die optimale Lösung, Die muß nicht gleich als Anfänger so aussehen. Aber dass da viel neues dabei ist, kann ich auch kaum glauben, außer Listen kommen in Deinem Buch in den ersten 100 Seiten nicht vor.
Was __deets__ geschrieben hat, ist dann schon (fast) die optimale Lösung, Die muß nicht gleich als Anfänger so aussehen. Aber dass da viel neues dabei ist, kann ich auch kaum glauben, außer Listen kommen in Deinem Buch in den ersten 100 Seiten nicht vor.
Richtig, Listen wurden noch nicht besprochen,
vielleicht bin ich ja etwas einfach gestrickt,
aber Offset, needles, haystack.find z.B. sagen mir gar nichts.
Und bei aller Freundschaft, würde mich hier gerne einbringen und will auch keinen nerven,
aber mal eben zu behaupten, ich knoble/überlege nicht gerne und will nichts lernen,
ist bei einer ersten Frage, sagen wir mal etwas frech.
vielleicht bin ich ja etwas einfach gestrickt,
aber Offset, needles, haystack.find z.B. sagen mir gar nichts.
Und bei aller Freundschaft, würde mich hier gerne einbringen und will auch keinen nerven,
aber mal eben zu behaupten, ich knoble/überlege nicht gerne und will nichts lernen,
ist bei einer ersten Frage, sagen wir mal etwas frech.
`offset`, `needles` und `haystack` sind alles Variablen, die aus dem Kontext klar werden sollten. Heuhaufen ist der große String, in dem alle Vorkommen gefunden werden sollen, Nadel ist nun der String, der gefunden werden soll, und Offset ist ein Offset.
Ohne deine konkreten strings und Code zu kennen kann man nicht wissen was da falsch läuft. Mein Beispiel aber ganz bestimmt nicht, denn das find tut wie es tut. Das addiert nicht magisch ne eins drauf. Bist du sicher das du nicht Offset ausgibst?
Also wird mit den [] eine Liste erstellt, ok, warte bis es im Buch kommt.
Aber wenn ich mit print(offset) die gesuchten Positionen ausgebe, wird 9 und 14 angeben und die sind falsch.
Wie du eben selber sagtest, die Positionen fangen mit 0 und nicht mit 1 an und mit 0 angefangen, sind es 8 und 13, genau wie im Buch angegeben.
Aber danke für deine Mühe und nochmals, will hier keinen nerven und bin für Hilfe dankbar.
Aber wenn ich mit print(offset) die gesuchten Positionen ausgebe, wird 9 und 14 angeben und die sind falsch.
Wie du eben selber sagtest, die Positionen fangen mit 0 und nicht mit 1 an und mit 0 angefangen, sind es 8 und 13, genau wie im Buch angegeben.
Aber danke für deine Mühe und nochmals, will hier keinen nerven und bin für Hilfe dankbar.