Zufallszahl mit einem Verhältnis von 1: 2
-
04-07-2019 - |
Frage
Ich habe zwei zufällige Sätze von Matrizen zu erzeugen, Jeweils 3 Ziffern im Bereich von 2 bis 10
so
Matrix 1: 994878129121
Matrix 2: 272794378212
die Zahlen in beiden Matrizen müssen größer sein als 100 und weniger als 999
den Mittelwert für beide Matrizen hat im Verhältnis von 1: 2 oder 2: 3, was immer der Benutzer gibt Constraint
meine mathematischen Fähigkeiten sind so eine Art beschränkt, irgendwelche Ideen, wie ich tun, damit dies geschieht?
Lösung
Um dies zu tun, müssen Sie wissen, wie viele Zahlen in jeder Liste sind. Ich bin von Ihrem Beispiel unter der Annahme, dass es vier Zahlen in jedem.
- Füllen Sie die erste Liste mit vier Zufallszahlen.
- Berechnen Sie den Mittelwert der ersten Liste.
- Multiplizieren Sie den Mittelwert von 2 oder 3/2, je nachdem, was die Benutzereingabe. Dies ist die erforderlichen Mittel der zweiten Liste.
- Multiplizieren von 4. Dies ist die erforderliche Gesamt der zweiten Liste.
- generieren 3 Zufallszahlen.
- subtrahiert die Summe der drei Zahlen in Schritt 5 von den gesamten in Schritt 4 Dies ist die vierte Nummer für die zweite Liste.
- Wenn die Zahl in Schritt 6 nicht im richtigen Bereich ist, den Vorgang ab Schritt 5.
Beachten Sie, dass die letzte Zahl in der zweiten Liste nicht wirklich zufällig ist, da es auf den anderen Werten in der Liste basiert.
Andere Tipps
Sie haben eine Reihe von Zufallszahlen, s1.
s1= [ random.randint(100,999) for i in range(n) ]
Für einen anderen Satz, s2, ein anderes Mittel, um es einfach bekommen hat einen anderen Bereich haben. Entweder Sie wählen Werte zufällig aus einem anderen Bereich, oder Sie Zufallswerte filtern einen anderen Bereich zu erhalten.
Egal, wie viele zufällige Zahlen, die Sie aus dem Bereich wählen 100-999, ist der Mittelwert immer nur um 550. Die Wahrscheinlichkeit, einen anderen Wert zu sein ist genau die Normalverteilung Wahrscheinlichkeiten auf beiden Seiten der Mittelwert.
Sie können nicht ein radikal anderen Mittel mit den Werten aus dem gleichen Bereich ausgewählt haben.