Würfel

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Edit: Doppelpost durch Hänger in der Boardsoftware ...
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

numerix hat geschrieben:Edit: Doppelpost durch Hänger in der Boardsoftware ...
Siehst du das "x"-Button neben "edit" und "zitat"? Vor ein paar Sekunden hättest das noch benutzen können ;-)
Benutzeravatar
HerrHagen
User
Beiträge: 430
Registriert: Freitag 6. Juni 2008, 19:07

Ich hab nichts gegen randrange. Nimm es. Ich würde auch keinen großen Wind darum machen. Das ist IMHO eine reine Geschmacksfrage.
BlackJack

@numerix: `randint()` ist IMHO einfach die verständlichere Alternative um eine Zahl von 1 bis 6 zu würfeln. Das hat nichts mit "Slicing" oder Indexen zu tun.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

BlackJack hat geschrieben:@numerix: `randint()` ist IMHO einfach die verständlichere Alternative um eine Zahl von 1 bis 6 zu würfeln. Das hat nichts mit "Slicing" oder Indexen zu tun.
Meine Logik ist so: range(a,b,c) kennt jeder. randrange(a,b,c) liefert (de facto) einfach aus range(a,b,c) einen zufälligen Wert.
Noch einfacher und schlüssiger geht es m.E. nicht. Bei randint(a,b) hingegen muss ich mir extra merken, dass b mit drin ist.
BlackJack

Das muss man sich nicht "extra" merken. Man muss es sich *nur* merken. Die Annahme, dass die Obergrenze nicht mit enthalten ist, kann man jedenfalls nicht machen, nur weil Indexe und `range()` das so machen, weil das etwas völlig anderes ist.
Clockworx
User
Beiträge: 2
Registriert: Montag 1. Juni 2009, 18:40

Wow ich bin echt positiv überrascht von diesem Forum!
dass so viel Hilfe in so kurzer Zeit kommen würde hätte ich echt nicht erwartet.
Vielen Dank an euch, ihr habt mir echt geholfen!
Ich werd mir das Turtorial jetzt mal genauer vornehmen...
lunar

numerix hat geschrieben:Noch einfacher und schlüssiger geht es m.E. nicht.
Wenn du in einer "Mensch ärgere dich nicht"-Runde erzählst, dass du jetzt gleich eine Zahl zwischen 1 und 7 würfeln wirst, wirst du drei verwunderte Blicke ernten ;)

Schlüssig und einfach das Verhalten von "randrange()" nur, wenn man das Verhalten von Slicing und "range()" verallgemeinert. Das ist aber nun mal kein allgemein definiertes Verhalten, sondern betrifft erstmal nur Slicing und "range()". Deine Argumentation ist doch gerade: "Die Funktion ist überflüssig, weil sie sich nicht so verhält wie die Funktion, die ich kenne." Das ist doch irgendwo Unsinn, der Sinn von "randint()" liegt doch gerade darin, dass es sich anders verhält, um der natürlichen Sprache (siehe oben) zu entsprechen.

Der Mensch, insbesondere wenn er kein Programmierer ist, würfelt doch im Allgemeinen eine Zahl zwischen eins und sechs, und nicht zwischen eins und sieben ;)
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Clockworx hat geschrieben:Ich werd mir das Turtorial jetzt mal genauer vornehmen...
Bin mal gespannt, wann der erste von "Torturial" spricht ...

Was randint()/randrange() angeht: Ich verstehe euch (BlackJack, lunar), aber verstehe nicht, dass ihr meiner bestechenden Logik nicht folgen wollt ... :D

Wahrscheinlich war das bei der Entwicklung des random-Moduls genau so: Da gab es die, die sich so an range() und slices gewöhnt hatten, das für sie ein randint() wie es jetzt ist, nicht in Frage kam (auch wenn es mit range/slices nichts zu tun hat); und die nicht-programmierenden Mensch-ärgere-dich-nicht-Spieler, die mit einer 7 beim Würfeln nichts anfangen können. Und am Ende konnte sich keiner durchsetzen ...
Antworten