kölir: Python - geshuffelter Vektor

Hallo,

ich benötige einen geshuffelten Vektor (zufällig), bei dem ich jedoch sicher sein kann, dass nicht zweimal hinereinander die gleichen Einträge vorkommen, also

v = ['1', '1', '1', '2', '2', '2', '3', '3', '3']

Soll zufällig permutiert werden udn hinterher jedoch so "korrigiert" werden, dass nicht der gleiche Eintrag zweimal nebeneinander steht.

Hat jemand einen guten Tipp?

Grüße
kölir

  1. Trivilales logisches Problem, die Sprache ist egal. Es folgt Ponny-Code:

      
      
    array.Laenge=10  
    minWert=0  
    maxWert=100  
    testWert=minWert-1  
    für i=0 bis array.Laenge schreite 1  
         array.Element(i)=testWert  
         ist i = 0  
             array.Element(i)=Zufallzahl()  
         sonst  
             solange array.Element[i]==testWert  
                   neueZahl=Zufallzahl()  
                   ist neueZahl != array.Element[i-1]  
                         array.Element[i]=neueZahl  
                   end ist  
             end solange  
         end ist  
    end für
    

    Du musst es nur übersetzen. Dabei kannst herausfinden, was das macht.

    fred

    1. Moin,

      Trivilales logisches Problem, die Sprache ist egal. Es folgt Ponny-Code:

      Ich habe das so verstanden, dass er ein vordefiniertes Array nur Zufällig sortieren will, und keine Zufallszahlen einspeisen.

      Sollte das so sein hilft sicherlich dieser Link. Das Prüfen auf gleiche Zahlen hintereinander dürfte ja kein Problem darstellen.

      Grüße Marco

  2. gudn tach!

    ich benötige einen geshuffelten Vektor (zufällig), bei dem ich jedoch sicher sein kann, dass nicht zweimal hinereinander die gleichen Einträge vorkommen

    wie allgemein willst du's wissen? wie soll mit vektoren umgegangen werden, bei denen das gar nicht moeglich waere, z.b. v=[1,1]? gibt's irgendwelches vorwissen ueber die eintraege des vektors? kommen da alle eintraege gleich oft vor? war dein beispiel nur ein beispiel oder geht's konkret um genau diesen vektor?

    prost
    seth