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?
Einfache Schleife
-
- User
- Beiträge: 3
- Registriert: Montag 14. Februar 2022, 22:03
Entschuldigung ans Forum, ich habe meinen DUMMEN Fehler selbst gefunden.
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.

Aber zeig doch mal deinen aktuellen Code und vielleicht können wir noch etwas optimieren.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
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:
Da // immer abrundet, sorgt `-(-10//z2)` dafür, dass statt dessen aufgerundet wird.
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}")