Seite 1 von 1

[Erste Versuche von mir] while-Schleife bricht ab

Verfasst: Mittwoch 26. März 2008, 01:17
von Bambie
Also ersteinmal hallo zusammen, oder guten abend/nacht, wie man es sehen will ;-)

Beschäftige mich nun seit ein paar Tagen mit Python und stehe nun vor einem Problem, was mir Kopfzerbrechen bereitet:

und zwar habe ich folgende while-Schleife:

Code: Alles auswählen

while points.isdigit():
    points = points[0:-1]
Teste ich folgendes danach:

Code: Alles auswählen

>>> print points
2610</b> <a 
>>> print points.isdigit()
False
Ich dachte immer schleifen würden solange laufen, bis die Bedinung erfüllt (true) wäre, überprüfe ich das, ist die Bedinung points.isdigit() immernoch falsch, wieso bricht er die Schleife denn dann trotzdem ab?

Ich hoffe ich habe mich verständlich ausgedrückt und die Lösung ist nicht zu einfach, habe sodnern schon den ganzen Tag rumgesucht :(

MFG Bambie

Verfasst: Mittwoch 26. März 2008, 01:42
von EyDu
Da hast du die "while"-Schleife falsch verstanden: Dessen Körper wirds solange durchlaufen, wie die Bedingung wahr ist. Das kann man sich ganz einfach merken, wenn man einfach mal "while" ins Deutsche übersetzt ;-)

In deinem Fall sollte ein "not" das Problem lösen:

Code: Alles auswählen

while not points.isdigit():
  points = points[:-1]

Verfasst: Mittwoch 26. März 2008, 07:59
von jens
@Bambie: Was willst du überhaupt machen? Aus einem String alle Zahlen extrahieren?

Verfasst: Donnerstag 27. März 2008, 00:45
von Bambie
Hat geklappt, danke :)

Mein Programm soll den Seitenquelltext einer Homepage in eine Variable speichern und daraus ziehe ich die Infos. Zum Beispiel Account gültig bis xxxxx
Dabei lasse ich dann Wöter wie gültig rausfischen und bastle dann am String rum, bis ich nur meine Info habe :)

MFG Bambie

Verfasst: Donnerstag 27. März 2008, 01:08
von Leonidas
Bambie hat geschrieben:Dabei lasse ich dann Wöter wie gültig rausfischen und bastle dann am String rum, bis ich nur meine Info habe :)
Das ist dann Ausnahmsweise mal ein Fall bei dem Reguläre Ausdrücke nützlich sind. Du solltest überlegen sie einzusetzen.

Verfasst: Donnerstag 27. März 2008, 09:21
von midan23
Da Reguläre Ausdrücke etwas komplex sind (vor allem, wenn man sie noch nie verwendet hat), kann man in diesem Fall auch BeautifulSoup verwenden ...

Verfasst: Donnerstag 27. März 2008, 09:56
von Jan-Peer
midan23 hat geschrieben:Da Reguläre Ausdrücke etwas komplex sind (vor allem, wenn man sie noch nie verwendet hat), kann man in diesem Fall auch BeautifulSoup verwenden ...
Mit der Herangehensweise wird man nie anfangen, sich mit ihnen zu beschäftigen ... :wink:

(Ich wollte damit nicht sagen, daß BeautifulSoup ein schlechter Ansatz ist)

Verfasst: Donnerstag 27. März 2008, 10:08
von BlackJack
Man kann BS und REs auch verbinden. BS erlaubt an einigen Stellen auch kompilierte REs als Argumente.