Übungen / Aufgaben zu Python
1 Lösung

Wetterdaten abfragen und anzeigen
Schreibe ein Programm, welches Wetterdaten von einem Dienst abruft und einige Werte davon ausgibt.
Das Programm soll durch die Benutzereingabe die Stadt entgegen nehmen und zu dieser die aktuellen Wetterdaten ausgeben.
Vorschlag für einen einfachen und kostenlosen Dienst: openweathermap.org
Das Programm soll durch die Benutzereingabe die Stadt entgegen nehmen und zu dieser die aktuellen Wetterdaten ausgeben.
Vorschlag für einen einfachen und kostenlosen Dienst: openweathermap.org
3 Lösungen

Passwortgenerator mit Parametern
Erstelle ein Programm/Funktion welche/s ein zufälliges Passwort erzeugt.
Als Parameter soll die Länge sowie die Art der darin vorkommenden Zeichen übergeben werden können.
Zur Auswahl sollen stehen: Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen.
Jede beliebige Kombination der Parameter soll möglich sein.
Als Parameter soll die Länge sowie die Art der darin vorkommenden Zeichen übergeben werden können.
Zur Auswahl sollen stehen: Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen.
Jede beliebige Kombination der Parameter soll möglich sein.
2 Lösungen

IBAN Checksumme prüfen
Schreibe eine Funktion, welche einen IBAN als Zeichenfolge entgegen nimmt.
Bei diese Zeichenfolge soll überprüft werden, ob die Checksumme/Prüfsumme für eine gültige IBAN stimmt.
Die unterschiedliche Schreibweisen (mit und ohne Freiraum) sowie die unterschiedlichen Längen je nach Land sind ebenfalls zu berücksichtigen.
Beispiele der Schreibweisen:
DE19 1234 1234 1234 1234 12
DE19-1234-1234-1234-1234-12
DE19123412341234123412
AT19 1234 1234 1234 1234
CH19 1234 1234 1234 1234 1
Bei diese Zeichenfolge soll überprüft werden, ob die Checksumme/Prüfsumme für eine gültige IBAN stimmt.
Die unterschiedliche Schreibweisen (mit und ohne Freiraum) sowie die unterschiedlichen Längen je nach Land sind ebenfalls zu berücksichtigen.
Beispiele der Schreibweisen:
DE19 1234 1234 1234 1234 12
DE19-1234-1234-1234-1234-12
DE19123412341234123412
AT19 1234 1234 1234 1234
CH19 1234 1234 1234 1234 1
1 Lösung

Berechnung der Anzahl der SMS Teile
Schreibe ein Programm, dass eine Textdatei entgegen nimmt und einliest. Dabei soll pro Zeile der Textdatei eine beliebig lange Zeichenfolge eine SMS darstellen.
Zu jeder Zeile soll dann die Anzahl der dafür benötigten SMS ausgegeben werden.
Zu beachten ist, dass das erste SMS 160 Zeichen, das zweite SMS 150 Zeichen und jede weitere SMS 140 Zeichen lang sein kann.
(Die Zeichenkodierung kann vernachlässigt werden. Es wird angenommen, dass die GSM-7-bit Kodierung verwendet wird)
Zu jeder Zeile soll dann die Anzahl der dafür benötigten SMS ausgegeben werden.
Zu beachten ist, dass das erste SMS 160 Zeichen, das zweite SMS 150 Zeichen und jede weitere SMS 140 Zeichen lang sein kann.
(Die Zeichenkodierung kann vernachlässigt werden. Es wird angenommen, dass die GSM-7-bit Kodierung verwendet wird)
2 Lösungen

IPv6 Adresse überprüfen
Schreibe eine Funktion, welche eine Zeichenfolge entgegen nimmt und diese auf eine gültige IPv6 Adresse prüft.
Ohne Verwendung der internen vorhandenen Überprüfungsfunktionen!
IPv6 Adressnotation Wikipedia
Ohne Verwendung der internen vorhandenen Überprüfungsfunktionen!
IPv6 Adressnotation Wikipedia
2 Lösungen

Zahlenausgabe in verschiedenen Schreibweisen
Schreibe ein Programm, welches eine positive Ganzzahl in dezimaler Schreibweise entgegen nimmt.
Gib diese Zahl dann in binärer, oktaler und hexadezimaler Schreibweise, ohne Verwendung der integrierten Formatierungsfunktionen, wieder aus.
Beispiel:
Gib diese Zahl dann in binärer, oktaler und hexadezimaler Schreibweise, ohne Verwendung der integrierten Formatierungsfunktionen, wieder aus.
Beispiel:
Konsolenausgabe:
Zahl eingeben: 365
binär: 101101101
oktal: 555
hexadezimal: 16D
0 Lösungen
Firmenumsatz in OOP-Weise
Die Zentrale einer Supermarktkette möchte die Umsatzzahlen ermitteln.
Hierzu läßt sie sich die Zahlen aus den einzelnen Filialen geben.
Diese haben wiederum unterschiedliche Kassen, die morgens mit einer gewissen Anfangsumme bestückt werden und am Abend eine Endsumme haben.
Erstelle entsprechende Klassen mit sinnvollen Methoden um den Gesamtumsatz zu berechnen.
Hierzu läßt sie sich die Zahlen aus den einzelnen Filialen geben.
Diese haben wiederum unterschiedliche Kassen, die morgens mit einer gewissen Anfangsumme bestückt werden und am Abend eine Endsumme haben.
Erstelle entsprechende Klassen mit sinnvollen Methoden um den Gesamtumsatz zu berechnen.
6 Lösungen

Finde die erste Zahl die durch alle Zahlen bis 30teilbar ist
Gesucht wird die erste Zahl, die durch alle Zahlen bis 30 geteilt werden kann(1-30).
Zum Einstieg kann man erstmal die erste Zahl suchen , die durch alle Werte bis 20 geteilt werden kann.
Dieses ist 232792560
Zum Einstieg kann man erstmal die erste Zahl suchen , die durch alle Werte bis 20 geteilt werden kann.
Dieses ist 232792560
4 Lösungen

Größter gemeinsamer Teiler
Entwickeln Sie ein Programm, welches den größten gemeinsamen Teiler zweier Zahlen ermittelt. Die Zahlen sollen vom Nutzer selber bestimmt werden.
Zitat:
Tipp:
Der euklidische Algorithmus könnte helfen.
1 Lösung

Türme von Hanoi - Lösung
Programmiere die Lösung der Türme von Hanoi.
Dabei ist es Ausreichend, die zu tätigenden Schritte textuell auszugeben
Dabei ist es Ausreichend, die zu tätigenden Schritte textuell auszugeben
1 Lösung

Klammerebenen checken
Ein übergebener String enthält neben anderen (bedeutungslosen) Zeichen öffnende und schließende Klammern, wobei die Klammern rund(), eckig [] oder geschweift {} sein können.
In einem Programm/Skript ist zu überprüfen, ob Klammern korrekt gesetzt wurden. Dabei gilt:
- jede sich öffnende Klammer wird von einer Klammer gleicher Art wieder geschlossen
- jede sich schließende Klammer wurde von einer Klammer gleicher Art geöffnet
- ein Klammernpaar darf nicht durch andere Klammernpaare überschnitten werden
Beispiele:
(([[]])) => true
([)] => false
([]]) => false
(())) => false
(() => false
({[])} => false
Gar keine Klammern => true
In einem Programm/Skript ist zu überprüfen, ob Klammern korrekt gesetzt wurden. Dabei gilt:
- jede sich öffnende Klammer wird von einer Klammer gleicher Art wieder geschlossen
- jede sich schließende Klammer wurde von einer Klammer gleicher Art geöffnet
- ein Klammernpaar darf nicht durch andere Klammernpaare überschnitten werden
Beispiele:
(([[]])) => true
([)] => false
([]]) => false
(())) => false
(() => false
({[])} => false
Gar keine Klammern => true
3 Lösungen

Bedingtes Tripel (Mathematisches Problem)
Ein Tripel besteht aus 3 integer-Werten, die in diesem Fall sollen noch folgende Eigenschaften erfüllt werden:
a < b < c
a² + b² = c²
a + b +c = n (n ist der Übergabeparameter)
Erstelle ein Programm, das eine beliegibe ganze Zahl als Übergabeparameter einliest und die dazugehörigen Tripel ausgibt
Beispiele:
n=30 => (5/12/13)
n=252 => (36/105/111), (56/90/106), (63/84/105)
a < b < c
a² + b² = c²
a + b +c = n (n ist der Übergabeparameter)
Erstelle ein Programm, das eine beliegibe ganze Zahl als Übergabeparameter einliest und die dazugehörigen Tripel ausgibt
Beispiele:
n=30 => (5/12/13)
n=252 => (36/105/111), (56/90/106), (63/84/105)