Python: Wie erstellt man eine Liste von n Zahlen und wählt zufällig eine Zahl aus?
Habe ich ein Graf von etwas und es kam heraus, um N
Nun würde ich gerne eine Liste mit 0 bis N zahlen.
Beispiel:
N = 5
dann count_list = [1, 2, 3, 4, 5]
Wie ich wäre in der Lage, das zu tun?
Auch, einmal habe ich Sie erstellt die Liste,
Ich möchte nach dem Zufallsprinzip wählen Sie eine Nummer aus dieser Liste aus, und verwenden Sie diese Zahl.
Danach möchte ich wählen Sie eine andere Nummer aus den übrigen zahlen in der Liste (N-1) und verwenden Sie dann die auch.
In diesem geht man auf die Liste leer ist.
könnte mir bitte jemand helfen mit diesem?
Dank
InformationsquelleAutor der Frage Sunny | 2011-09-27
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie erstellen, die Aufzählung der Elemente, indem Sie etwas wie das:
dann können Sie die
random.choice
Funktion wählen Sie Ihren Artikel:EDIT:
Als Asim Ihsan richtig angegeben, meine Antwort noch nicht auf den vollen problem des OP. Um die Werte zu entfernen aus der Liste, einfach
list.remove()
aufgerufen werden kann:InformationsquelleAutor der Antwort Constantinius
Können Sie versuchen, diesen code
InformationsquelleAutor der Antwort Tibo
Sie nicht brauchen, um count Zeug, wenn Sie möchten, wählen Sie eine zufällige element. Verwenden Sie einfach
random.choice()
und übergeben Sie Ihre iterierbar:Wenn Sie wirklich haben, Sie zu zählen, verwenden Sie
random.randint(1, count+1)
.InformationsquelleAutor der Antwort patrys
Können Sie verwenden:
oder:
wenn Sie es wollen, aus
1
zun
und nicht von0
.InformationsquelleAutor der Antwort Guy
Als für den ersten Teil:
Als für die zweite, Lesen Sie diese:
http://docs.python.org/library/random.html
Das ist die Allgemeine Idee.
Übrigens, Sie können auch daran interessiert sein zu Lesen:
http://code.activestate.com/recipes/59883-random-selection-of-elements-in-a-list-with-no-rep/
Gibt es ein paar Implementierungen von fast zufällige Auswahl.
InformationsquelleAutor der Antwort Gandi
Dann sind Sie wohl nicht wirklich wollen, um zu erstellen eine Liste der zahlen 1 bis N nur für den Zweck der Kommissionierung ein (warum nicht einfach Fragen Sie für eine Zufallszahl in diesem Bereich direkt, anstatt explizit erstellen, wählen Sie aus?), aber statt zu mischen, eine solche Liste. Zum Glück, die
random
- Modul bietet die Lösung für diese zu finden: nutzen Sie einfachrandom.shuffle
.Natürlich, wenn Sie haben eine riesige Liste von zahlen, und Sie nur wollen, zu zeichnen, ein paar, dann ist es sicherlich sinnvoll zu zeichnen, jeweils mit
random.choice
und entfernen Sie es.Aber... warum wollen Sie zu wählen Sie zahlen aus einem Bereich, entspricht die Anzahl einiger Gegenstände? Verwenden Sie die Zahl zu wählen Sie eines der Elemente? Tun Sie das nicht; das ist, die gehen aus dem Weg, um die Dinge zu kompliziert. Wenn Sie möchten, wählen Sie eines der Elemente, dann tun Sie das direkt - wieder mit
random.choice
.InformationsquelleAutor der Antwort Karl Knechtel
Erstellen der Liste (bearbeitet):
Wählen Sie zufällige element:
InformationsquelleAutor der Antwort pvoosten
maitain eine
set
und entfernen Sie zufällig abgeholt element (mitchoice
), bis die Liste leer ist.Drei ausführen, geben drei verschiedene annswers
InformationsquelleAutor der Antwort octoback