for i in range (17):
Liste1.append(Liste1[i+1]+Liste1[i+3])
if i<[1000]:
break
print(Liste1)
Problem: Ich kriege es nicht hin die Liste zu stoppen sobald die Einträge größer als 1000 werden.
Ich würde mich über schnelle Hilfe freuen

Die kann man auch weglassen und es funktioniert trotzdem nichtpillmuncher hat geschrieben: Mittwoch 16. Dezember 2020, 15:45 Warum steht da [1000] und nicht einfach 1000?
Ich versteh nicht ganz was du damit meinst.noisefloor hat geschrieben: Mittwoch 16. Dezember 2020, 15:53 Hallo,
der Code läuft so doch gar nicht, weil man einen Integer nicht mit einer Liste vergleichen kann.
... und überleg' auch mal, wenn der Vergleich korrigiert ist, welchen Wert i bei dir maximalen annehmen kann.
Gruß, noisefloor
Code: Alles auswählen
>>> i = 2
>>> i<[1000]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'int' and 'list'
>>>
Code: Alles auswählen
liste_1 = [0,1,2,3]
for i in range (17):
liste_1.append(liste_1[i+1]+liste_1[i+3])
if i<1000:
break
print(liste_1)
Willst du die Schleife stoppen, wenn der eingetragene Wert in der Liste größer 1000 ist oder wenn du mehr als 1000 Einträge drin hast?ae123 hat geschrieben: Mittwoch 16. Dezember 2020, 15:07 Problem: Ich kriege es nicht hin die Liste zu stoppen sobald die Einträge größer als 1000 werden.
Zizibee hat geschrieben: Mittwoch 16. Dezember 2020, 16:15Willst du die Schleife stoppen, wenn der eingetragene Wert in der Liste größer 1000 ist oder wenn du mehr als 1000 Einträge drin hast?ae123 hat geschrieben: Mittwoch 16. Dezember 2020, 15:07 Problem: Ich kriege es nicht hin die Liste zu stoppen sobald die Einträge größer als 1000 werden.
Ja genau dass will ich machen. Entschuldigung wenn ich das falsch formuliert habe./me hat geschrieben: Mittwoch 16. Dezember 2020, 16:16 Mal abgesehen von der defekten Einrückung: die Schleife würde doch sofort abbrechen, da i im ersten Durchlauf 0 ist. Kann es sein, dass du eigentlich mit dem letzten zur Liste hinzugefügten Wert vergleichen möchtest und auch eigentlich prüfen willst, ob der Wert größer ist?
Code: Alles auswählen
data = [0, 1, 2, 3]
i = 1
while True:
next_value = data[i] + data[i + 2]
# hier gehört jetzt noch sinnvoller Code hin (ich überlasse das dem Leser)
i += 1
Code: Alles auswählen
liste_1 = [0,1,2,3]
for i in range (17):
liste_1.append(liste_1[i+1]+liste_1[i+3])
if liste_1[-1] > 1000:
break
print(liste_1)
Code: Alles auswählen
numbers = [0, 1, 2, 3]
while numbers[-1] < 1000:
numbers.append(numbers[-3] + numbers[-1])
Vielen Dank für deine Hilfe und die Anmerkung mit dem einrückenhyle hat geschrieben: Mittwoch 16. Dezember 2020, 20:20 Anhand der Vorlage dann so:Noch ein paar kleine Anmerkungen...Code: Alles auswählen
liste_1 = [0,1,2,3] for i in range (17): liste_1.append(liste_1[i+1]+liste_1[i+3]) if liste_1[-1] > 1000: break print(liste_1)
Einrückungen werden mit 4 Leerzeichen gemacht, nicht mit Tabs.
Die Abfrage war falsch eingerückt.
Und dann übrigens noch das falsche Zeichen: https://de.wikipedia.org/wiki/Vergleichszeichen