Anzahl von Zahlen aus der Berechnung begrenzen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
J2021
User
Beiträge: 4
Registriert: Montag 4. Januar 2021, 04:57
Wohnort: Nordeifel

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)
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Was bedeutet die `10` bei random.sample?
J2021
User
Beiträge: 4
Registriert: Montag 4. Januar 2021, 04:57
Wohnort: Nordeifel

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.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

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()
J2021
User
Beiträge: 4
Registriert: Montag 4. Januar 2021, 04:57
Wohnort: Nordeifel

@/me

Perfekt!
Genau so sollte es werden.

Vielen Dank.
J2021
User
Beiträge: 4
Registriert: Montag 4. Januar 2021, 04:57
Wohnort: Nordeifel

Frage:

Welcher Code muss noch ergänzt werden, damit die Berechnungen in einer *.txt Datei [ohne rechteckige Klammern] gespeichert wird?
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

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"
Antworten