kontrolliertes "randommäßiges" Sortieren einer Lis

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.
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Hi

Ich glaube mal du willst einfach die gleiche Zufallsreihenfolge.

Das geht mit

Code: Alles auswählen

random.seed(x)
Gruss
Chill-man
User
Beiträge: 24
Registriert: Dienstag 8. Januar 2008, 10:46

also besser ausgedrückt (so hoffe ich)

ich möchte mischen und wenn ich 2 wochen danach an den rechne rgehe möchte ich exakt die gleich mischen wie sie zuvor gemischt wurde, allerdings will ich während dieser 2 wochen die liste anders gemischt haben.

2 wochen ist jetzt nur ein beispiel.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Langsam glaube ich zu verstehen: Möchtest Du vielleicht Permutationen einer Liste (alle oder einen Teil davon) zufällig auswählen und dann zyklisch wiederkehrend abarbeiten?
Chill-man
User
Beiträge: 24
Registriert: Dienstag 8. Januar 2008, 10:46

Also, vielen Dank für eure Hilfe ;-)

So wie ich mir das vorgestellt habe, brauche ich es doch nicht, es wird ausreichen die shuffle funktion zu nehmen. Falls es euch interessiert wofür ich das ganze brauche, hier ein kleiner Eindruck:

http://home.arcor.de/tillmannschatz/Ble ... rsuch2.rar

falls ihr blender habt, dann könnt ihr auch die blendfile öffnen, falls nicht liegt die exe datei im Unterordner Game.
Dies ist nur eine kleine Testversion.
Falls ihr verbesserungsvorschläge am code habt immer raus damit.

Cheers Tillmann
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Hallo Chill-man,

ich habe mir das Programm jetzt nicht angeschaut. Vielleicht komm ich ja nachher mal dazu. Aber falls du dochmal irgendwie sowas in der Richtung machen moechtes, dann ist Rayo's Tipp genau der richtige:

Gibst du jedem User ihre eigene ID und verwendest diese als Seed, bekommt jeder User die gleiche Liste generiert.

Oder nimmst du den Wochentag als Seed, bekommst du jeden Montag die gleiche Liste, Dienstags, Mittwochs, usw aber eine jeweils andere.

Code: Alles auswählen

import random

user_id = input("User ID? ")
liste = range(20)
random.seed(user_id**3) # damit der seed n bissl groesser ist
random.shuffle(liste)
print liste
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
BlackJack

Dabei ist aber nicht garantiert, dass da *immer* die gleichen Zufallszahlen erzeugt werden. Höchstens dass dem so ist, wenn man immer den gleichen Interpreter mit dem gleichen `random`-Modul nimmt.
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

okay... wenn man die Internas ein bisschen aufrollt stimmt das natuerlich.
Aber ich bin jetzt davon ausgegangen, dass er an *seinem* Computer die Leute das Programm benutzen laesst und somit der Interpreter nicht veraendert wird.
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
Chill-man
User
Beiträge: 24
Registriert: Dienstag 8. Januar 2008, 10:46

Jau, super nkoehring,

genau das wars was ich gesucht habe. Vielen Dank für eure Hilfe.

mfg Tillmann Schatz
Antworten