Heim > Backend-Entwicklung > Python-Tutorial > Wie generiert man in Python Zufallszahlen, deren Summe einen bestimmten Wert ergibt?

Wie generiert man in Python Zufallszahlen, deren Summe einen bestimmten Wert ergibt?

DDD
Freigeben: 2024-10-29 17:28:03
Original
466 Leute haben es durchsucht

How to Generate Random Numbers in Python That Sum to a Specific Value?

Erzeugen von Zufallszahlen, die zu einem bestimmten Wert summiert werden

In Python gibt es eine einfache Lösung, um n Pseudozufallszahlen zu erstellen, die, wenn summiert, einen vordefinierten Zielwert erreichen und gleichzeitig sicherstellen, dass alle möglichen Kombinationen mit gleicher Wahrscheinlichkeit auftreten.

Die Methode beinhaltet die Verwendung der Funktion random.sample, um einen geordneten Satz von n-1 eindeutigen Zahlen zwischen 1 und dem auszuwählen Zielsumme. Die ausgewählten Zahlen dienen als Teiler und unterteilen das Ziel effektiv in n positive ganze Zahlen.

Betrachten Sie das Beispiel der Generierung von 4 Zufallszahlen, die sich zu 40 summieren. Die generierten Teiler könnten [4, 11, 24] sein (ausgewählt aus zufällig). .sample(range(1, 40), 3)). Die entsprechenden Zahlen, deren Summe 40 ergibt, werden als [4, 7, 13, 6] berechnet.

Um sicherzustellen, dass jede mögliche Kombination die gleiche Wahrscheinlichkeit hat, ist es wichtig, die Teiler auszuwählen aufsteigende Reihenfolge. Darüber hinaus lässt sich dieser Ansatz mühelos an unterschiedliche Zielwerte anpassen und ist somit für verschiedene Szenarien vielseitig einsetzbar.

Das obige ist der detaillierte Inhalt vonWie generiert man in Python Zufallszahlen, deren Summe einen bestimmten Wert ergibt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage