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.
Nun und genau hier möchte ich gerne stehen haben, dass diese itterierung wiederholt wird und nochmal durchgelaufen wird, ohne dass ein Schritt weiter gegangen wird.
Zuletzt geändert von Anonymous am Dienstag 26. Januar 2016, 10:23, insgesamt 1-mal geändert.
Grund:Quelltext in Python-Codebox-Tags gesetzt.
@Jens_J.: Wo ist denn da das „genau hier“? Da wo die Auslassungspunkte sind? Im ``else``-Zweig? Und welches konkrete Problem soll da gelöst werden? Auch wenn man das lösen kann, riecht es irgendwie nach einem XY-Problem.
Guten Morgen und vielen Dank für die bisherigen Antworten.
Entweder das Problem ist doch komplizierter als ich dachte, oder ich habe es falsch beschrieben. Ich versuch es nochmal:
Abstrahiert sieht mein code ungefähr so aus( alles zu posten wäre zu lang)
for i in range(10):
a=random()
if a>0.5:
print("alles groß")
else:
# Eigentlich will ich nur 10 mal einen Wert der größer ist als 0.5 (als ich möchte wenn a<0.5 den Schritt für i nochmal ausführen.
Dazu muss es doch irgendeinen einfachen Befehl geben? und ich bin nur zu doof zu suchen.
Zuletzt geändert von Anonymous am Dienstag 26. Januar 2016, 11:32, insgesamt 1-mal geändert.
Grund:Quelltext in Python-Codebox-Tags gesetzt.
from random import random
def get_random_float(low, high):
while True:
result = random()
if low <= result <= high:
return result
def main():
random_floats = [get_random_float(0.5, 1) for _ in range(10)]
print(random_floats)
@Jens_J.: Na die Lösung wäre eine ``while``-Schleife. Vergiss einfach das dieser Schritt selbst Teil einer Schleife ist, das spielt für das Problem doch gar keine Rolle. Du willst den Schritt solange wiederholen bis eine bestimmte Bedingung erfüllt ist. Also ``while True:`` und dann abbrechen wenn die Bedingung erfüllt ist.
Wobei das konkrete Beispielproblem hier natürlich auch ohne so eine Wiederholung formuliert werden kann in dem man gleich nur Zufallszahlen im richtigen Bereich generiert. Also bleibt immer noch die Frage was denn *eigentlich* gelöst werden soll.
Jens_J. hat geschrieben:Bedeutet "while True" , dass alles so lange ausgeführt wird bis "break" kommt oder auf welche Bedingung bezieht sich eigentlich das "True"?
Bei `while` wird die Schleife solange ausgeführt, wie die dahinterstehende Bedingung wahr ist. Da `True` immer wahr ist, steht ``while True`` für eine Endlosschleife. Aus einer solchen Schleife kann man nur mit `break` oder mit `return` "ausbrechen".
Anstatt zu sagen, dass das `True` sich auf etwas bezieht, würde ich es eher so formulieren, dass sich das `while` auf das `True` bezieht und das `break` eben eine der Ausbruchsmöglichkeiten darstellt.