Seite 1 von 1
Alternative zu "goto"-Befehl
Verfasst: Dienstag 27. April 2010, 16:37
von Maximilianibus
Hi.
Ich habe gelesen, in Python gibts keinen goto-Befehl. Gibts dazu irgendne Alternative?
Gruß, Max
Verfasst: Dienstag 27. April 2010, 16:44
von jbs
Gutes Design.
Verfasst: Dienstag 27. April 2010, 16:44
von cofi
Man kommt in Python wunderbar ohne aus.
Warum willst du denn gotos?
(Funktionsaufrufe, Exceptions und Schleifen _sind_ btw gotos)
Verfasst: Dienstag 27. April 2010, 16:54
von Maximilianibus
exceptions funktionieren nicht, da ich ja sowieso ein goto machen müsste.
schleifen: funktionieren auch nicht(apropos, kann man mit einem string eine schleife steuern? das wüde auch funktionieren)
und funktionsaufrufe:
a.) Kenne ich kaum
b.) finde ich auch kein geeignetes beispeil.
und an jbs: was sollte das? das hilft mir nicht unbedingt weiter!
Verfasst: Dienstag 27. April 2010, 16:55
von derdon
Wenn du Funktionen noch nicht kennst, dann lerne sie kennen
Hier der Link zum Tutorial:
http://docs.python.org/tutorial
PS: Kennst du bisher nur Assembler oder warum beharrst du so auf goto?
Verfasst: Dienstag 27. April 2010, 16:58
von Dav1d
Maximilianibus hat geschrieben:und an jbs: was sollte das? das hilft mir nicht unbedingt weiter!
Ein gutes Design im Code!
//Edit: und es gibt ein goto http://entrian.com/goto/
Verfasst: Dienstag 27. April 2010, 17:00
von numerix
derdon hat geschrieben:PS: Kennst du bisher nur Assembler oder warum beharrst du so auf goto?
Ich tippe auf Basic ...

Verfasst: Dienstag 27. April 2010, 17:00
von Maximilianibus
Verfasst: Dienstag 27. April 2010, 17:03
von Darii
Maximilianibus hat geschrieben:exceptions funktionieren nicht, da ich ja sowieso ein goto machen müsste.
schleifen: funktionieren auch nicht(apropos, kann man mit einem string eine schleife steuern? das wüde auch funktionieren)
und funktionsaufrufe:
a.) Kenne ich kaum
b.) finde ich auch kein geeignetes beispeil.
Was willst du denn überhaupt machen(konkretes Beispiel)? "mit einem string eine schleife steuern" das klingt irgendwie verdächtig so als würdest du wirklich nur eine Schleife haben wollen.
Verfasst: Dienstag 27. April 2010, 17:12
von jonas
Maximilianibus hat geschrieben:[...]
schleifen: funktionieren auch nicht(apropos, kann man mit einem string eine schleife steuern? das wüde auch funktionieren)
[...]
Was meinst du damit? Mit String eine Schleife steuern?
Sowas?:
Code: Alles auswählen
>>> myString = "python"
>>> for index, char in enumerate(myString):
print "Buchstabe: %s, Index %d" % (char, index)
Buchstabe: p, Index: 0
Buchstabe: y, Index: 1
Buchstabe: t, Index: 2
Buchstabe: h, Index: 3
Buchstabe: o, Index: 4
Buchstabe: n, Index: 5
Lg, Jonas
Verfasst: Dienstag 27. April 2010, 17:20
von Maximilianibus
ich habe das tuti durchgearbeitet, aber es ist mir immer noch nicht klar. ich kam auch schon auf die idee, klassen zu benutzen, aber im tutorial steht immer nur das "hello world", weshalb man das problem auch mit print lösen kann. ich aber habe mehrere schleifen, usw und ich kriegs nicht hin, den code in einer endlosschleife laufen zu lassen.....
also, ich möchte, das wenn mein code durchgelaufen ist, er fragt "möchten sie den code wiederholen?" und dann den GESAMTEN code nochmal durchläuft
Verfasst: Dienstag 27. April 2010, 17:25
von Pekh
Maximilianibus hat geschrieben:ich habe das tuti durchgearbeitet, aber es ist mir immer noch nicht klar. ich kam auch schon auf die idee, klassen zu benutzen, aber im tutorial steht immer nur das "hello world", weshalb man das problem auch mit print lösen kann. ich aber habe mehrere schleifen, usw und ich kriegs nicht hin, den code in einer endlosschleife laufen zu lassen.....
also, ich möchte, das wenn mein code durchgelaufen ist, er fragt "möchten sie den code wiederholen?" und dann den GESAMTEN code nochmal durchläuft
Welche Schleifentypen kennst du denn?
Verfasst: Dienstag 27. April 2010, 17:27
von Maximilianibus
for und while(ich habe sogar mal bei google geschaut "python schleifen" da kam nur for und while)
Verfasst: Dienstag 27. April 2010, 17:28
von Jack Daniels
Dann mach doch eine while-Schleife, deren Abbruchbedingung von der Benutzereingabe verändert wird...
Verfasst: Dienstag 27. April 2010, 17:30
von derdon
Jonas: Du zeigst, wie man mit einer Schleife einen String "steuern" kann (was in dem Kontext auch immer "steuern" bedeuten mag...).
Der TE möchte aber mithilfe von Strings Schleifen steuern. Was das bedeutet, mag er uns am besten selbst erklären

Verfasst: Dienstag 27. April 2010, 17:32
von Pekh
Maximilianibus hat geschrieben:for und while(ich habe sogar mal bei google geschaut "python schleifen" da kam nur for und while)
So, und jetzt setz dich mal hin, und überlege dir genau, wo der Unterschied zwischen den beiden liegt.
Abgesehen davon wäre es natürlich wie immer sehr hilfreich zu wissen, an welcher Problemstellung du dich eigentlich abmühst. Was sich aus deinen bisherigen Beiträgen entnehmen läßt, ist etwas wirr. Manchmal ist man einfach auf dem Holzweg ...
Edit: Ah, jetzt habe ich es doch gefunden.
Verfasst: Dienstag 27. April 2010, 17:34
von Darii
Maximilianibus hat geschrieben:also, ich möchte, das wenn mein code durchgelaufen ist, er fragt "möchten sie den code wiederholen?" und dann den GESAMTEN code nochmal durchläuft
Klingt doch nach einer while-Schleife. Die läuft so lange die angegebene Bedingung erfüllt ist.
Wenn nicht wiederholt werden soll irgendwann in der Schleife run_again auf False setzen. Alternative: Endlosschleife(while True:) und dann mit break rausspringen(break ist ein eingeschränktes goto).
Verfasst: Dienstag 27. April 2010, 18:32
von Hyperion
@OP: Poste ggf. doch Deinen bisherigen Code mal auf paste.pocoo.org. Dann kann man Dir insofern konkreter helfen, als dass man genau Deine Bezeichner sieht und benennen könnte, wo genau Du angreifen solltest. Ich habe das Gefühl Du hast evtl. das Tutorial gelesen, aber noch kein Grundverständnis für die gängigen Patterns der elementaren Kontrollstrukturen im allgemeinen.
Verfasst: Dienstag 27. April 2010, 20:30
von Maximilianibus
also, den code hab ich
hier
bevor ihr fragt: es ist ein skript, was einen simplen würfel in der konsole darstellt. bisher habe ich nur rechstrotation eingebaut.
probierts aus, meldet "schönheitsfehler"(im CODE!) und gebt mir ne rückmeldung.
und dass am ende... da war mir langweilig...
