Lösungen zu den Übungen
Die exakten Aufgabenstellungen zu den unten stehenden Lösungen finden Sie im Buch unter den entsprechenden Kapiteln. Die Texte vor den Links dienen lediglich zuur besseren Wiederfindung der entsprechenden Lösung.
Kapitel 6
Kapitel 9
- 1. Aufgabe:
Hundealter in Menschenalter:
hundealter.py - 2. Aufgabe:
Schaltjahrtest:
schaltjahre.py - 3. Aufgabe:
Addition einer Sekunde zu einer gegebenen Uhrzeit:
tick_second.py Alternative Lösung: tick_second_format.py
Kapitel 10
-
1. Aufgabe:
Umrechnung römische Zahl in Dezimalzahl:
roman2decimal.py -
2. Aufgabe:
Frösche beim Überqueren einer Straße:
frog.py -
3. Aufgabe:
Weizenkörner auf Schachbrett:
weizenkorn.py
Kapitel 11
-
1. Aufgabe:
Vorname-Nachname-Datei erzeugen:
datei_aufgabe1.py
Die zugehörige Textdatei finden Sie hier: namen.txt -
2. Aufgabe:
Zusammenfassung jeweils dreier Zeilen einer Datei zu einer Zeile:
musicians.py
Die zugehörige Textdatei finden Sie hier: musicians.txt -
3. Aufgabe:
Zusammenfassung jeweils dreier Zeilen einer Datei zu einer Zeile und Ausgabe in Ausgabedatei:
musicians2.py
Kapitel 14
-
1. und 2. Aufgabe:
Löffelsprache
loeffelsprache.py -
3. und 4. Aufgabe:
Test auf Palindrom:
palindrom.py
Kapitel 15
-
1. Aufgabe:
-
2. Aufgabe:
Rekursive Funktion zur Berechnung der Summe der ersten n Zahlen:
sum_n.py -
3. Aufgabe:
Berechnung einer beliebigen Zeile des Pascalschen Dreiecks
pascal.py -
4. Aufgabe:
Fibonacci-Zahlen im Pascalschen Dreieck suchen:
fibonacci_in_pascal.py - 5. Aufgabe:
-
Rekursive Funktion zur Berechnung des Siebs des Erathosthenes:
sieve_rec.py -
6. Aufgabe:
Test of Fibonacci-Zahl
fibonacci_index.py -
7. Aufgabe:
siehe Buch
Rekursive Funktion zur Berechnung von f(n) = 3 * n:
mult3.py
alternative Lösung: pascal_alternativ.py
iterative Lösung: sieve.py
Kapitel 16
-
1. Aufgabe:
Umkehrung der Reihenfolge einer Liste:
reverse_list.py -
2. Aufgabe:
Verschachtelte Liste in flache Liste umformen:
flatten.py -
3. Aufgabe:
Lösung siehe Buch -
4. Aufgabe:
Bestimmung der Buchstabenhäufigkeit eines Strings:
letter_frequency.py
Der zugehörige Roman von James Joyce: ulysses.txt -
5. Aufgabe:
Sortieren von Verkaufserlösen:
Lösung mit lambda: umsaetze.py
ohne lambda: umsaetze2.py
Kapitel 19
-
1. Aufgabe:
Adressenlists umsortieren:
split_addresses_mixed.py Die dazugehörige Datei: addresses_mixed.txt (Korrigierte Version!) -
2. Aufgabe:
Zweiertupel-Liste aus Adressendatei erzeugen:
split_addresses_2.py Daten: addresses.txt -
3. Aufgabe:
Siehe Buch
-
4. Aufgabe:
Funktion zur Bestimmung des n-ten Vorkommens eines Strings in einem anderen String:
findnth.py -
5. Aufgabe:
Ersetzen des n-ten Vorkommens eines Strings "sub" durch einen String "replacement":
replacenth.py
Kapitel 21
-
1. Aufgabe:
Roboterklasse: Kein Roboter darf "Hugo" genannt werden:
robot1.py -
2. Aufgabe:
Roboterklasse: Roboter, die sich bewegen können:
robot.py
3. Aufgabe:
-
5. Aufgabe:
Erweiterung der list-Klasse um "splice":
standardklassen.py -
6. Aufgabe:
Length-Klasse:
length.py
Roboterklasse: Roboter mit
robot_energie.py 4. Aufgabe:
Höhlenmenschen-Arithmetik:
CaveInt_de.py
Kapitel 26
- Telefonverzeichnis "Simpsons"
- 1. Aufgabe:
Kein Programmcode nötig; Erklärung befinden sich im Buch. -
2. Aufgabe:
Kein Programmcode nötig; Erklärung befinden sich im Buch. -
3. Aufgabe:
US-ZIP-Code mittels eines regulären Ausdrucks erkennen:
us_zip_codes.py -
3. Aufgabe:
Wörter, die mit "ship" enden, im Roman Ulysses von James Joyce:
ships_in_ulysses.py
Die dazugehörige Datei mit dem Roman:
ulysses.txt -
4. Aufgabe:
Wörter im Roman Ulysses von James Joyce, die aus gleichen Teilwörtern bestehen:
gleiche_teilwoerter.py Die dazugehörige Datei mit dem Roman: ulysses.txt -
5. Aufgabe:
"murmur" words:
duplicated.py -
6. Aufgabe:
"Häufigkeitsverteilung der Wortlängen:
wordfrequencies.py -
7. Aufgabe:
Wörter in Ulysses, die aufsteigend sortiert sind:
aufsteigend_sortiert.py
Kapitel 27
Kapitel 28
-
1. Aufgabe:
-
2. Aufgabe:
Wahrscheinlichkeit für die Würfelsumme 7:
wuerfelsumme.py -
3. Aufgabe:
Erweiterung für beliebige Würfelsumme:
standardklassen.py
Anwendung der Listenabstraktion:
listen_abstraktion.py
Kapitel 29
-
1. Aufgabe:
Fibonacci-Generator:
fibonacci_generator.py -
2. Aufgabe:
Round-Robbin-Generator
round_robbin.py -
3. Aufgabe:
Pendel-Generator:
pendulum.py -
4. Aufgabe:
pair-sum-Generator:
pair_sum.py
Kapitel 31
-
1. Aufgabe:
Berechnung, ob zwei Vektoren senkrecht aufeinander stehen:
senkrecht.py -
2. Aufgabe:
Winkel zwischen Vektoren:
winkel.py -
3. Aufgabe:
Lösung eines Gleichungssystemes:
gleichungssystem.py -
4. Aufgabe:
Berechnung von Nullstellen:
nullstellen.py -
5. Aufgabe:
Berechnung unbestimmtes Integral und Ableitung:
integral_und_ableitung.py