Wörter zählen

In diesem Kapitel lernst Du:

Bereich Thema
🔀 Eine Zählvariable verwenden
💡 Textdateien auslesen
💡 Strings zerlegen
Vergleichsoperatoren verwenden
🔧 Absolute und relative Pfade definieren
🐞 Dateinamen prüfen

Wörter zählen

In dieser Aufgabe sollst Du herausfinden, welche Wörter in der Geschichte "Alaeddin und die Wunderlampe" am häufigsten auftreten. Dazu benötigen wir unterschiedliche Datentypen, um Dinge zu zählen und zu sortieren.

Schreibe ein Programm, das die Wörter in der Datei alaeddin.txt zählt und die häufigsten 100 ausgibt.

Hinweise

Hinweis 1

Wie sollte die Ausgabe aussehen?

Schreibe einige beispielhafte Zeilen der Ausgabe auf.


Hinweis 2

Welche Schritte sollte das Programm ausführen und in welcher Reihenfolge?

Zeichne ein Flußdiagramm.


Hinweis 3

Welcher Datentyp in Python ist gut dazu geeignet, Dinge zu zählen?

Hinweis 4

Welche Programmzeilen benötigst Du, um

  • den Datentyp zu initialisieren?
  • ein einzelnes Wort zu zählen?

Hinweis 5

Welche Python-Funktionen kannst Du verwenden, um

  • Eine Textdatei einzulesen?
  • Einen String in Wörter aufzuteilen?

Hinweis 6

Welcher Datentyp in Python ist gut zum Sortieren geeignet?

Wie würdest Du die Wörter und deren Anzahl in dieser Datenstruktur repräsentieren? Nach welchen Kriterien sortiert Python Integers, Strings, Tupel und andere Listen? Wie würden sie sortiert werden?


Hinweis 7

An welcher Stelle der Ausgabe würdest Du Wörter wie “ist”, “Zauberer”, “Ring” oder “Tageslicht” erwarten? Prüfe ob die Ausgabe Deiner Erwartung entspricht.

Falls sie es nicht tut, teste Dein Programm zuerst mit einem kurzen Textabschnitt (2-3 Zeilen).


Hinweis 8

Vorsicht: Sonderzeichen und Großbuchstaben können beim Aufteilen der Wörter das Ergebnis verzerren. Entferne die Sonderzeichen, bevor Du anfängst zu zählen. Wie läßt sich das erreichen?

Antworten auf die Hinweisfragen

Quellenangabe

Alaeddin und die Wunderlampe von Curt Moreck ( https://www.gutenberg.org/ebooks/22413)

Dr. Kristian Rother

I am a professional Python trainer, developer and author based in Berlin. I believe everybody can learn programming.

Contact me via:
+49 176 3052 4691
krother@academis.eu

Feedback

I would call it a talent to take the audience with you.

Jakub M., UAM Poznan

See also