Ich frage mich, ob diese denselben Code mit einem for loop
gemacht werden könnte anstelle eines while
Ändern while-Schleife für Schleife
d = 0.6
b = 0.0
h = 0.0
t = 0.0
count = 0
h = float(input("enter height: "))
b = float(input("enter a number of bounces: "))
t = h
while count < b:
if count == b - 1:
t += h * d
#print(t)
else:
h = h * d
t += h * 2
#print(t)
count += 1
#print (t)
print(t)
Sie können keine Float-in-Range-Funktion verwenden. Es muss eine Ganzzahl sein. Und wenn Sie 'round()' verwenden, wird sich das Ergebnis ändern, überprüfen Sie zuerst die Variablen von OP. Diese Antwort ist weit entfernt von dem, was OPs wollen. – GLHF
@GLHF Das stimmt, vielen Dank für Ihre Hinweise. Ich denke, ich habe gerade gelesen, dass b für Bounces steht, was natürlich int wäre. – hlfrmn
Auch das Ergebnis Ihrer Antwort ist nicht korrekt, Sie sollten den Bereich (b) anstelle von (b-1) und "if" - "else" -Anweisungen verwenden. – GLHF