Loop mit break funktioniert nicht

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.
Antworten
eva_python
User
Beiträge: 1
Registriert: Sonntag 19. Januar 2020, 10:26

Ich verstehe nicht warum der folgende Code nicht funktioniert:

headlines = ["Local Bear Eaten by Man",
"Legislature Announces New Laws",
"Peasant Discovers Violence Inherent in System",
"Cat Rescues Fireman Stuck in Tree",
"Brave Knight Runs Away",
"Papperbok Review: Totally Triffic"]

news_ticker = " "

for news in headlines:
news_ticker += news + " "
if len(news_ticker) = 140:
break

print(news_ticker)

Die Aufgabe ist eine Liste news_ticker auszugeben, die genau 140 Zeichen enthält. Wenn ich statt if len(news_ticker) >= 140: eingebe funktioniert der Code aber das Ergebnis entspricht nicht der Vorgabe.
__deets__
User
Beiträge: 14541
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte in Zukunft den Code in die dafür vorgesehenen Tags packen, damit die wichtigen Einrückungen nicht verloren gehen.

Und zu deinem Problem: das die Zusammenfassung der Headlines GENAU auf der 140 Zeichen Grenze liegt ist halt unwahrscheinlich. Darum funktioniert == nicht. Denn meistens bist du darunter oder drüber.

Und wie man jetzt vorgeht hängt von der genauen Aufgabenstellung ab: sollen die Headlines vollständig bleiben? Dann musst du vor der Verkettung der aktuellen prüfen, ob die Grenze mit der zusammen überschritten wäre. Oder soll die letzte angeschnitten werden? Dann ist die Lösung trivial mit slicing erledigt.
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

__deets__ hat geschrieben: Sonntag 19. Januar 2020, 14:05 Darum funktioniert == nicht.
Wenn denn da == stehen würde.....
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
__deets__
User
Beiträge: 14541
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich denke da hat sie sich verschrieben. Aber klar, das ist falsch.
Antworten