Seite 1 von 1

Dirketer vergleich in der For Schleife

Verfasst: Dienstag 11. März 2008, 17:47
von smoovn
Hallo,

ich denke mein Problem ist recht Simpel ich würde nur gerne Wissen ob ähnliches wie dieses hier möglich ist in Python möglich ist.

for (i=1;i<=b;i+=1)[...]

(es geht mir hier nur um den Vergleich)

patrick

Verfasst: Dienstag 11. März 2008, 17:56
von jens
Also sowas:

Code: Alles auswählen

b = 10
for i in xrange(1, b):
    print i

Verfasst: Dienstag 11. März 2008, 19:34
von Pumeluk2
jens hat geschrieben:Also sowas:

Code: Alles auswählen

b = 10
for i in xrange(1, b):
    print i
[Korinthenkacker Modus]
Ist ja nicht ganz richtig, müsste ja eigentlich

Code: Alles auswählen

for i in xrange(1, b + 1)
heissen
[/Korinthenkacker Modus]

;)

Verfasst: Mittwoch 12. März 2008, 08:32
von jens
Ja, stimmt. Dir frage ist, ob es nicht auch eine Liste von 0 bis 9 sein kann, also xrange(b)...

Man braucht in Python eh seltener Listen mit Zahlen, da man meist über die Elemente direkt internieren kann.

Verfasst: Mittwoch 12. März 2008, 09:13
von BlackJack
Vielleicht möchte der OP ja auch C-Schleifen simulieren, dann ist die allgemeine Antwort:

Code: Alles auswählen

i = 1
while i <= b:
    # [...]
    i += 1
Es kann ja durchaus sein, dass in […] `i` und/oder `b` neue Werte zugewiesen werden.

Verfasst: Mittwoch 12. März 2008, 14:22
von smoovn
Ich denke die while schleife kommt da meinen vorstellungen am nähsten - Danke.

Verfasst: Mittwoch 12. März 2008, 14:41
von keppla
smoovn hat geschrieben:Ich denke die while schleife kommt da meinen vorstellungen am nähsten - Danke.
Darf man fragen, wozu du das brauchst? Wie schon bemerkt, ist es in python meist anders hübscher möglich (enumerate, iter, yield, list-comprehensions ermöglichen viele Dinge, die man, von C oder Java kommend, nicht vermutet)

Verfasst: Mittwoch 12. März 2008, 14:43
von jens
Wie BlackJack schon andeutete: Es macht nur wenn, wenn man innerhalb der Schleife i oder b ändert. Ansonsten gibt es sicherlich einfachere Wege...

Verfasst: Mittwoch 12. März 2008, 15:58
von keppla
jens hat geschrieben:Wie BlackJack schon andeutete: Es macht nur wenn, wenn man innerhalb der Schleife i oder b ändert. Ansonsten gibt es sicherlich einfachere Wege...
Klar, aber ich behaupte: dass man i oder b ändern will, hat häufig mehr mit der Gewohnheit aus C und Co zu tun als mit dem eigentlichen zu implementierenden Algorithmus.