Seite 1 von 1

Einfache Schleife

Verfasst: Montag 14. Februar 2022, 22:11
von Python_Tom
Hallo Liebes Forum,

könnte mir bitte jemand helfen. Ich probiere jetzt schon seit einer Stunde eine einfache Schleife:

rest=0

if rest !=0:
z1=random.randint(10,40)
z2=random.randint(1,20)
rest=z1%z2
else:
print("Wieviel ist:",z1 ,":",z2)
c=z1/z2
print(c)

Ich möchte erreichen, dass die Schleife solange durchläuft, bis Zufallszahlen gefunden werden, die eine Division ohne Rest ergeben.
Das Programm spring allerdings sofort zu den else Befehlen.
Wo mache ich da den Fehler?

Re: Einfache Schleife

Verfasst: Montag 14. Februar 2022, 23:08
von Python_Tom
Entschuldigung ans Forum, ich habe meinen DUMMEN Fehler selbst gefunden.

Re: Einfache Schleife

Verfasst: Dienstag 15. Februar 2022, 07:13
von ThomasL
Nun, du wirst vermutlich festgestellt haben, dass obiger Code keine Schleife enthält. :-)

Aber zeig doch mal deinen aktuellen Code und vielleicht können wir noch etwas optimieren.

Re: Einfache Schleife

Verfasst: Dienstag 15. Februar 2022, 08:09
von Sirius3
Eingerückt wird immer mit 4 Leerzeichen pro Ebene.
Statt so lange zu würfeln, bis man eine Zahl findet, die ohne Rest teilbar ist, kann man diese auch einfach ausrechnen:

Code: Alles auswählen

zahl2 = random.randint(1, 20)
rest = random.randint(-(-10 // zahl2), 40 // zahl2)
zahl1 = zahl2 * rest
print(f"Wieviel ist: {zahl1} : {zahl2}?")
print(f"Lösung: {rest}")
Da // immer abrundet, sorgt `-(-10//z2)` dafür, dass statt dessen aufgerundet wird.