Wie nimmt man einzelne Zahlen aus einer Klammer in Python ausnehmen?

3 Antworten

Hi

Probiers doch mal mit einer Schleife die sich solange wiederholt bis eine Liste mit zufälligen Zahlen 10 Stellen hat. In der Schleife wird vor dem eintragen der Zahl in die Liste geprüft ob die Zufallszahl schon vorhanden ist. ;)

Ansonsten kann man das natürlich auch mit 10 Variablen machem und ob die Variablen den selben wert haben, allerdings kann das sehr aufwendig werden...

Ich will jetzt nicht übertreiben, aber GENAU diese Frage wurde hier in den letzten Jahren mit Sicherheit über 100 mal gestellt ... genau genommen stellt sie jemand mindestens einmal pro Woche, manchmal auch häufiger.

Von daher: Einfach mal die Suchfunktion benutzen! ;)

Woher ich das weiß:
eigene Erfahrung
6

PS: Ich sehe gerade mit Erschrecken, dass die bisherigen Lösungen und Ansätze katastrophal schlecht sind, deshalb will ich dir mal einen Hinweise geben:

from random import shuffle

pool = list(range(1, 500))
shuffle(pool)

result = pool[:10]
print(result)

Damit erhältst du z. B. diese Ausgabe:

[123, 61, 15, 395, 178, 465, 180, 368, 213, 68]

Doppelte Zahlen können prinzipbedingt niemals vorhanden sein, und gerade bei längeren Listen wird dieser Algorithmus sicherlich einige Millionen oder auch Trilliarden (oder mehr) mal schneller sein, als die naive Lösung aus der Antwort von markb1980 ...

Wenn du lustig bist, kannst du auch einen anderen Zufallszahlengenerator, als den globalen nehmen, die Ergebnisliste sortieren, und und und ... keine Ahnung, was du noch damit vor hast.

Aber was auch immer du tust: Prüfe bitte NICHT in einer Schleife auf bereits vorhandene Zahlen ... das wird dir bei längeren Listen und kleinerem Pool einen Deadlock bescheren! :)

0
6

PPS: Noch zwei Anmerkungen, weil ich aus deiner Frage nicht ganz schlau werde ...

1) Falls du nicht-wiederholende Zufallszahlen in einzelnen Variablen haben willst, geht das so:

x, y, z = pool[:3]

2) Falls du hingegen mehrere, Blöcke mit nicht-wiederholenden Zufallszahlen haben willst:

x, y, z = pool[:10], pool[10:20], pool[20:30]

3) Falls du mehrere Listen mit nicht-wiederholenden Zufallszahlen haben willst, die aber unabhängig (!) von einander sind, wobei durchaus doppelte vorkommen dürfen:

shuffle(pool)
x = pool[:10]

shuffle(pool)
y = pool[:10]

shuffle(pool)
z = pool[:10]

Ansonsten weiß ich nicht, was du eventuell noch so meinen könntest. :)

0

zB:

import random
random.seed()

x = []
y = []

while len(x) <= 10 and len(y) <= 10:
    xx = random.randint(1,500)
    yy = random.randint(1,500)
    if not xx in x and not yy in y:
        x.append(xx)
        y.append(yy)

print(x)
print(y)

[Java] Random() gleiche Zahlen verhindern?

Hallo Leute,

arbeite gerade an einem Lotto Programm und wollte nun die 6 Zahlen mit Random() generieren lassen jedoch kommt es einige male vor das die gleiche Zahlen vorkommen. Wie kann ich dies verhindern ? Habe mir schon mehrere Videos angeguckt jedoch finde ich nicht das was ich benötige.

Danke im Vorraus

...zur Frage

EXCEL 2007 - 6stellige Zufallszahlen generieren, keine doppelten

Hallo Freunde,

ich wollte fragen wie man in excel 2007 zufallszahlen generieren kann... keine doppelten !! z.b. von 105000 bis 999999.

...zur Frage

Type Error in Python?

Guten Tag,

beschäftige mich gerade mit Python und habe ein Problem bei dem ich im Internet keine Antwort finden könnte.

Folgende Fehlermeldung kommt. Traceback (most recent call last): File "C:/Program Files/Python35/Würfel Zähler.py", line 12, in x = random.randint(1,b) File "C:\Program Files\Python35\lib\random.py", line 218, in randint return self.randrange(a, b+1) TypeError: Can't convert 'int' object to str implicitly

Leider habe ich keine Ahnung wie ich das ändern soll. Das ist der ausschnitt Wo ja der Fehler liegen muss:

a = 0
b = 0
x = 0
import random
print ("Welcher Würfel (6,12,24)?")
a = input()
print ("Sie wählten einen ",a," seitigen Würfel")
print ("Anzahl der Würfe")
b = input()
print ("Sie wollen ",b," würfe benutzen")
i = 0
while 1:
     x = random.randint(1,b)
...zur Frage

Random PHP?

Ich weiß, dass ich zufällige Zahlen mit PHP generieren kann, ich brauche aber einen Random Text aus zahlen, Buchstaben, Großbuchstaben (vill. Sonderzeichen) bestehend aus 64 Zeichen der Generiert wird.

...zur Frage

Was möchtest Du wissen?