Seite 2 von 2

Verfasst: Freitag 12. Juni 2009, 15:24
von Sconine
Diesen Befehl verstehe ich aber nicht. Ich will doch nur einen Schritt vor oder zurück. Wieso aufeinmal 0.5???

Code: Alles auswählen

for k in xrange(n): 
        pos += 1 if random() > 0.5 else -1 
        return pos 

Verfasst: Freitag 12. Juni 2009, 15:29
von yipyip
Es ist genauso, wie Dauerbaustelle sagt.
In Zeile 15 muss das "return pos" ausserhalb der
for-Schleife sein.
Da Du random_steps auch mit 0 aufrufst, wirst ansonsten
None zurueckgegeben. Schau nochmal in meine letzte Version.

Verfasst: Freitag 12. Juni 2009, 15:30
von Dill
bist du eigentlich irgendwie im stress? oder machst du dir den nur selbst?
du machst den 36. schritt vor dem 5.

Verfasst: Freitag 12. Juni 2009, 16:59
von numerix
Sconine hat geschrieben:Diesen Befehl verstehe ich aber nicht. Ich will doch nur einen Schritt vor oder zurück. Wieso aufeinmal 0.5???

Code: Alles auswählen

for k in xrange(n): 
        pos += 1 if random() > 0.5 else -1 
        return pos 
Da es "mein" Snippet ist: Weißt du, was random() macht?
Wenn nein: Dann schau es doch in der Doku nach.

Weißt du, was ein bedingter Ausdruck ist?
Wenn nein, äh, findet man das in der Doku?

Ok, dann machen wir es mit einer bedingten Anweisung:

Code: Alles auswählen

if random() > 0.5:
    pos += 1
else:
    pos -= 1
Edit: Aber wenn du mit choice() klar kommst: Nimm es!

Verfasst: Freitag 12. Juni 2009, 23:19
von birkenfeld
yipyip hat geschrieben:Ach so, den Kommentar natuerlich auch um 4 Leerzeichen
einruecken.
Docstring, nicht Kommentar. Die Einrückung von Kommentaren ist unerheblich.

Verfasst: Samstag 13. Juni 2009, 11:47
von yipyip
@birkenfeld:
Hast recht, da war ich in der Terminologie ziemlich schludrig.
:oops:
yipyip

Re: Eindimensionaler Random-Walk

Verfasst: Sonntag 14. Juni 2009, 18:56
von Pascal
Sconine hat geschrieben: [...]Überlegen Sie sich eine grafische Darstellung [...].
Dafür hab ich mal einen einfachen Vorschlag:
http://paste.pocoo.org/show/123126/

mit Tkinter und Turtle :D