hallo leute,
nun, mein erster post..., also ich brauche ein goto modul, aber nicht das vom 1. april 2004: http://entrian.com/goto/, sondern eben ein anderes ^^.
bitte helft mir
goto modul?
habs vergessen zu schreiben, dass es bei mir nicht funktioniert , hab python 2.4.4 ^^, und ich brauch es, um zum anfang der funktion zu springen
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Uhh, vielleicht solltest du BASIC verwenden, dort darf man sogar vor die Zeilen zahlen schrieben, um zu diesen zu springen.ch100 hat geschrieben:habs vergessen zu schreiben, dass es bei mir nicht funktioniert , hab python 2.4.4 ^^, und ich brauch es, um zum anfang der funktion zu springen
Mal im Ernst: Wenn du goto brauchst, ist an deinem Ansatz was falsch. Nimm eine `while`-Schleife.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
oO, es sind hunderte zeilen code in der funktion, und die sind alle wichtig, und wenn ich die auslagern möchte müsste ich nen dreiviertel davon umschreiben und mit einem einzigen goto würde alles wunderbar funktionieren xD
Dann hast Du Pech gehabt. 100 Zeilen ist auch schon recht lang für eine Funktion.
es wär viel umständlicher, wenn ichs auslagern würde ^^, weil es ne handle funktion für nen server ist, und voila, schon hab ich zu viel verraten ^^ xD
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Wenn du sowieso nur an den *Anfang* der Funktion springen willst, sehe ich nicht, was gegen
spricht.
Code: Alles auswählen
def funktion(args...):
while 1:
<code>
if foo:
continue # springe zum anfang
<code>
irgendwann:
break # ende
Es funktioniert nicht so einfach wenn man aus einer inneren Schleife an den Anfang springen möchte.
Nicht, dass das schlecht wäre, denn was du bisher so über deinen Code verraten hast, war diese wohl gelinde gesagt einfach mies.
Naja, dann löst man es allgemein eben mit einer Exception (zumindest man möchte wirklich miesen Code erzeugen ):BlackJack hat geschrieben:Es funktioniert nicht so einfach wenn man aus einer inneren Schleife an den Anfang springen möchte.
Code: Alles auswählen
while 1:
try:
<code>
if foo:
raise ContinueException()
<code>
irgendwann:
break
except ContinueException:
pass
Naja, hin und wieder kann goto praktisch sein, dass viele Leute es absolut verteufeln, halte ich fuer einen Fehler. Aber stimmt schon, meistens weist es auf schlechte Codestruktur hin.
Wusstet ihr, dass beim simplen Starten eines Python-Interpreters mehrere tausend mal goto ausgefuehrt wird?
Wusstet ihr, dass beim simplen Starten eines Python-Interpreters mehrere tausend mal goto ausgefuehrt wird?
Es gibt aber einen kleinen Unterschied zwischen C und Python ...mq hat geschrieben:Wusstet ihr, dass beim simplen Starten eines Python-Interpreters mehrere tausend mal goto ausgefuehrt wird?
Im Übrigen hoffe ich nicht, daß goto bei mir tatsächlich tausende Male beim Start aufgerufen wird - wird nämlich meist zum Errorhandling eingesetzt.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ich nicht. Mir fehlt es in Python nicht, dir etwa? Das ist ähnlich wie das `global` Keyword: man braucht es nicht, und da es da ist muss man Leuten die Benutzung dessen oft ausreden, weil sie es einfach bedenkenlos nutzen.mq hat geschrieben:Naja, hin und wieder kann goto praktisch sein, dass viele Leute es absolut verteufeln, halte ich fuer einen Fehler.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice