Seite 1 von 1

Anzahl von Zahlen aus der Berechnung begrenzen?

Verfasst: Montag 6. Dezember 2021, 18:03
von J2021
Hallo,
habe jetzt Mut meinen ersten Beitrag/Frage zu stellen:

Habe folgenden Code der noch verändert werden sollte.
Nach "run" erscheinen die Zahlengruppen. Bei dieser Anzahl von Reihen werden jeweils oft - alle - Zahlen zwischen 1/35 bzw. 36/70 abgebildet.

Was muss in den Code noch eingefügt werden, damit eine "Begrenzung" als Option erfolgt :?:

Beispiel:
Es sollen nur z.B. maximal => 18 Zahlenwerte aus den Bereichen 1 bis 35 bzw. 36 bis 70 nach der Berechnung erfolgen.
Was sollte noch in den Code "eingefügt" werden?
Vorab vielen Dank.

import random

def meine_funktion(zahl_1,zahl_2):
print(sorted(random.sample(range(zahl_1,zahl_2), 10)))

for x in range(0,25):
meine_funktion(36,71)

for x in range(0,25):
meine_funktion(1,36)

Re: Anzahl von Zahlen aus der Berechnung begrenzen?

Verfasst: Montag 6. Dezember 2021, 18:49
von Sirius3
Was bedeutet die `10` bei random.sample?

Re: Anzahl von Zahlen aus der Berechnung begrenzen?

Verfasst: Montag 6. Dezember 2021, 22:32
von J2021
Sirius3 hat geschrieben: Montag 6. Dezember 2021, 18:49 Was bedeutet die `10` bei random.sample?
Das sind die "10" Zahlen pro Reihe.

Hier als Beispiel:
[36, 41, 42, 51, 52, 54, 56, 58, 59, 63]
[43, 48, 50, 55, 56, 59, 64, 67, 69, 70]
[43, 47, 53, 61, 62, 65, 66, 68, 69, 70]
[37, 40, 43, 46, 47, 61, 62, 63, 66, 69]
[38, 42, 45, 46, 47, 52, 55, 61, 63, 70]
[37, 38, 44, 45, 46, 47, 52, 53, 56, 67]
[37, 40, 42, 53, 59, 61, 62, 63, 68, 70]
[39, 41, 42, 47, 54, 55, 59, 63, 64, 66]
[39, 40, 41, 43, 44, 45, 50, 55, 58, 65]
[38, 40, 44, 45, 48, 50, 54, 57, 58, 65]
[37, 39, 40, 41, 44, 47, 53, 55, 68, 70]
[36, 44, 48, 54, 58, 59, 61, 65, 66, 68]
[37, 40, 45, 46, 47, 56, 59, 61, 64, 70]
[38, 41, 46, 48, 58, 59, 60, 61, 66, 70]
[36, 44, 45, 51, 52, 53, 57, 60, 62, 68]
[37, 40, 42, 44, 45, 54, 65, 66, 67, 70]
[40, 41, 43, 44, 46, 50, 56, 58, 62, 63]
[36, 42, 44, 47, 50, 53, 56, 57, 59, 69]
[39, 43, 44, 45, 50, 55, 58, 59, 66, 69]
[41, 48, 53, 56, 57, 60, 61, 62, 64, 70]
[37, 39, 41, 44, 53, 54, 55, 58, 59, 67]
[39, 40, 43, 46, 50, 52, 55, 62, 64, 67]
[37, 38, 39, 41, 50, 54, 55, 56, 59, 60]
[37, 38, 41, 48, 52, 59, 64, 66, 68, 69]
[40, 41, 42, 44, 51, 52, 57, 61, 63, 68]

Hier in diesem Beispiel sind jetzt aus dem Bereich 36 bis 70 - => insgesamt 34 Zahlen vertreten.

Diese möchte ich mit einer "Option" beschränken.
Zum Beispiel nur 17 Zahlenwerte aus dem Bereich 36 bis 70.

Re: Anzahl von Zahlen aus der Berechnung begrenzen?

Verfasst: Montag 6. Dezember 2021, 23:14
von /me
Wenn du bei allen Wiederholungen nur die gleiche Menge der 17 Zahlen haben willst, dann muss du diese 17 Zahlen vorher einmalig festlegen und in jedem einzelnen Durchlauf für die Ermittlung deiner Zufallszahlen verwenden.

Code: Alles auswählen

import random

def get_random_numbers(numbers, count=10):
    return sorted(random.sample(numbers, count))

def main():
    number_limit = 17
    numbers_low = random.sample(range(1, 36), number_limit)
    numbers_high = random.sample(range(36, 71), number_limit)

    for _ in range(25):
        print(get_random_numbers(numbers_high))

    for _ in range(25):
        print(get_random_numbers(numbers_low))

if __name__ == '__main__':
    main()

Re: Anzahl von Zahlen aus der Berechnung begrenzen?

Verfasst: Montag 6. Dezember 2021, 23:55
von J2021
@/me

Perfekt!
Genau so sollte es werden.

Vielen Dank.

Re: Anzahl von Zahlen aus der Berechnung begrenzen?

Verfasst: Dienstag 7. Dezember 2021, 18:11
von J2021
Frage:

Welcher Code muss noch ergänzt werden, damit die Berechnungen in einer *.txt Datei [ohne rechteckige Klammern] gespeichert wird?

Re: Anzahl von Zahlen aus der Berechnung begrenzen?

Verfasst: Dienstag 7. Dezember 2021, 20:09
von /me
J2021 hat geschrieben: Dienstag 7. Dezember 2021, 18:11 Welcher Code muss noch ergänzt werden, damit die Berechnungen in einer *.txt Datei [ohne rechteckige Klammern] gespeichert wird?
Das Tutorial hat ein Kapitel mit dem Thema "Reading and Writing Files"