Seite 1 von 1

Zahlen Generieren die zusammen immer den gleichen Wert haben

Verfasst: Dienstag 15. November 2016, 16:20
von Jans1612
[codebox=pycon file=Unbenannt.txt]

Hallo liebe Community,

Ich steh vor einem Problem und zwar möchte ich, dass die Zahlen so lange Generiert werden bis sie 45 ergeben. Wenn ich das Programm nun starte warte ich aber ewig ohne ein Ergebnis zu bekommen. Wo ist mein Fehler?

Schon mal Danke im voraus!


#Modul Importieren
import random

#Drei Random Zahlen werden generiert
a = random.randint(0, 45)
b = random.randint(0, 45)
c = random.randint(0, 45)

#Zahlen werden zusammengerechnet
AlterZusammen = a + b + c

#Wenn die Zahlen nicht 45 ergeben wird es wiederholt
while AlterZusammen != 45:
a = random.randint(0, 45)
b = random.randint(0, 45)
c = random.randint(0, 45)

#Wenn alle generierten Zahlen 45 ergeben werden sie ausgegeben
if AlterZusammen == 45:
print("Die Kinder sind" , a, b, "und", c, "Jahre alt")[/code]

Re: Zahlen Generieren die zusammen immer den gleichen Wert haben

Verfasst: Dienstag 15. November 2016, 16:36
von BlackJack
@Jans1612: `AlterZusammen` ändert sich innerhalb der Schleife ja nicht, also wird das während die Schleife läuft auch niemals den Wert 45 annehmen wenn es *vorher* den Wert nicht schon hatte. Wenn Du einem Namen einen Wert zuweist, dann ändern sich dadurch nicht auf magische Weise irgendwelche Werte die irgendwann vorher mal mit einem Wert berechnet wurden der vorher an den gleichen Namen gebunden war.

Das ``if`` nach der Schleife ist überflüssig. Denn die Zeile wird ja erst erreicht wenn die Schleifenbedingung erfüllt ist.

Das Vorgehen ist nicht so effizient. Man könnte die Zahlen nacheinander generieren und jedes mal die Grenzen von dem `randint`-Aufruf so wählen dass sie den übrig gebliebenen Wert abdecken. Oder man macht sich Gedanken darüber auf wieviele Arten man die Zahl auf die drei Variablen verteilen kann und generiert eine Zufallszahl in diesem Bereich und erstellt daraus dann die Aufteilung.

Re: Zahlen Generieren die zusammen immer den gleichen Wert haben

Verfasst: Dienstag 15. November 2016, 16:49
von Jans1612
@BlackJack Danke für deine Hilfe ich werde nun eine andere Lösung zu finden

Re: Zahlen Generieren die zusammen immer den gleichen Wert haben

Verfasst: Montag 21. November 2016, 21:46
von BlackJack
Die Idee mal grafisch umgesetzt/programmiert:
Bild