python.casapython.casa
Home
  • Thema 1 - Einführung Programmiersprache
  • Thema 2 - Variablen und Datentypen
  • Thema 3 - Boolsche Algebra und Zeichenketten
  • Thema 4 - Datum und Zeit
  • Thema 5 - Kontrollstrukturen und Listen
  • Thema 6 - Funktionen und Flowcharts
  • Thema 7 - Objektorientierte Programmierung
  • Thema 8 - Ein- und Ausgabe
  • Thema 9 - Module und Import
  • Thema 10 - Datenbanken
  • Thema 11 - Grafische Benutzeroberfläche
  • Thema 12 - Webapplikation mit Python Flask
  • Thema 13 - Versionskontrolle mit Git
  • Thema 14 - Dokumentation mit Markdown
  • Thema 15 - Jupiter-Notebooks, SciPy und Matplotlib
GitHub
Home
  • Thema 1 - Einführung Programmiersprache
  • Thema 2 - Variablen und Datentypen
  • Thema 3 - Boolsche Algebra und Zeichenketten
  • Thema 4 - Datum und Zeit
  • Thema 5 - Kontrollstrukturen und Listen
  • Thema 6 - Funktionen und Flowcharts
  • Thema 7 - Objektorientierte Programmierung
  • Thema 8 - Ein- und Ausgabe
  • Thema 9 - Module und Import
  • Thema 10 - Datenbanken
  • Thema 11 - Grafische Benutzeroberfläche
  • Thema 12 - Webapplikation mit Python Flask
  • Thema 13 - Versionskontrolle mit Git
  • Thema 14 - Dokumentation mit Markdown
  • Thema 15 - Jupiter-Notebooks, SciPy und Matplotlib
GitHub
  • Stundenplan
  • Teil 1

    • Thema 1 - Einführung Programmiersprache
      • Slides Thema 1
      • Übungen Thema 1
    • Thema 2 - Variablen und Datentypen
      • Slides Thema 2
      • Übungen Thema 2
    • Thema 3 - Boolsche Algebra und Zeichenketten
      • Slides Thema 3
      • Übungen Thema 3
    • Thema 4 - Datum und Zeit
      • Slides Thema 4
      • Übungen Thema 4
        • Aufgaben
          • Aufgabe 4.1: Datum oder Zeit ausgeben
          • Aufgabe 4.2: Tage seit Geburt
          • Aufgabe 4.3: Tage bis Geburtstag
          • Aufgabe 4.4: Schnellschreiber
        • Wiederholungsfragen
    • Thema 5 - Kontrollstrukturen und Listen
      • Slides Thema 5
      • Übungen Thema 5
    • Thema 6 - Funktionen und Flowcharts
      • Slides Thema 6
      • Übungen Thema 6
    • Thema 7 - Objektorientierte Programmierung
      • Slides Thema 7
      • Übungen Thema 7
    • Thema 8 - Ein- und Ausgabe
      • Slides Thema 8
      • Übungen Thema 8
  • Teil 2

    • Thema 9 - Module und Import
      • Slides Thema 9
      • Übungen Thema 9
    • Thema 10 - Datenbanken
      • Slides Thema 10
      • Übungen Thema 10
    • Thema 11 - Grafische Benutzeroberfläche
      • Slides Thema 11
      • Übungen Thema 11
    • Thema 12 - Webapplikation mit Python Flask
      • Slides Thema 12
      • Übungen Thema 12
    • Thema 13 - Versionskontrolle mit Git
      • Slides Thema 13
      • Übungen Thema 13
    • Thema 14 - Dokumentation mit Markdown
      • Slides Thema 14
    • Thema 15 - Jupiter-Notebooks, SciPy und Matplotlib
      • Slides Thema 15
      • Übungen Thema 15
  • Prüfung

    • Wissensprüfung 1
    • Wissensprüfung 2
    • Leistungsnachweis

Übungen Thema 4

Aufgaben

Augaben zum Thema.

Aufgabe 4.1: Datum oder Zeit ausgeben

Erstellen Sie eine Variable heute und speichern den heutigen Tag in dieser Variable. Geben Sie den Inhalt der Variable aus.

Erstellen Sie eine Variable jetzt und speichern Sie die aktuelle Uhrzeit in dieser Variable. Geben Sie nur die Uhrzeit aus.

⭐ HeuteJetzt.py

Aufgabe 4.2: Tage seit Geburt

Entwickeln Sie eine Programm, dass nach ihrem Geburtsdatum im Format '%d.%m.%Y' fragt.

from datetime import datetime, date
geburtsdatum = input('Geben Sie ihr Geburtsdatum (DD.MM.YYYY) ein: ')

Berechne Sie die Anzahl Tage, die seit dem Geburtsdatum vergangen sind und geben Sie diese aus.

Tips

Damit die Differenz berechent werden kann, muss das heutige Datum und das Geburtsdatum im Format ohne Zeit sein.

differenz = date.today() - geburtsdatum.date()

⭐ Tage seit Geburt.py

Aufgabe 4.3: Tage bis Geburtstag

Erweitern das Programme mit einer Berechnung der Anzahl Tage bis zum nächsten Geburstag aus.

Geben Sie sie folgenden Text aus: 'Sie haben in {differenz.days} Tagen an einem {geburtstag.strftime("%A")} Geburtstag.'

⭐ Tage bis Geburtstag.py

Aufgabe 4.4: Schnellschreiber

Schreiben Sie ein Programm, dass diesen Text ausgibt:

Am 19. Januar 2038 haben 32-Bit Computer ein Problem.

Anschliessend soll man den Text wieder eintippen.

Vergleichen Sie den originalen String und die Eingabe. Geben Sie den Vergleichswert (Boolean) aus.

Messen Sie die Zeit der ganzen Programmausführung und geben Sie diese in Sekunden aus.

ℹ️ Ausgabe heisst immer print() und Eingabe immer input()

⭐ Schnellschreiber .py

Wiederholungsfragen

W1: Geben Sie das heutige Datum in der Form Montag, 31. 12. aus, also mit Wochentag, aber ohne Jahreszahl.

Die folgende Lösung erfüllt die Fragestellung weitgehend. Ein wenig störend ist aber die Null beim Monat (also 06. anstelle von 6.).
from datetime import datetime  
import locale    
now = datetime.now()  
locale.setlocale(locale.LC_ALL, 'de_DE.utf8')  # Linux    
locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8') # macOS  
locale.setlocale(locale.LC_ALL, 'german')      # Windows  
print(now.strftime('%A, %d.%m.'))  
  Mittwoch, 27.06.
Python sieht keinen Formatcode für die Monatszahl ohne führende Null vor. Um diesen Mangel zu beheben, können Sie .0 durch . ersetzen:
s=now.strftime('%A, %d.%m.')  
print(s.replace('.0', '.'))  
  Mittwoch, 27.6.

W2: Ein Kinofilm beginnt um 19:30 Uhr und dauert 132 Minuten. Wann ist die Vorstellung zu Ende?

Python kann zu time-Objekten keine Zeitspannen addieren. Deswegen bildet das folgende Script aus dem time-Objekt (Variable start) zuerst ein entsprechendes datetime-Objekt (Variable starttoday) und führt die Zeitrechnung dann durch:
from datetime import datetime, time  
start = time(19, 30)                                       
starttoday = datetime.combine(datetime.today(), start)     
length = timedelta(minutes=132)  
end = starttoday + length  
print(end.time())  
  21:42:00

W3: Ermitteln Sie, wie viele Sekunden seit Mitternacht vergangen sind.

Um die Anzahl der Sekunden seit Mitternacht zu berechnen, wird in midnight ein neues datetime-Objekt gespeichert, das sich aus dem aktuellen Datum ohne Stunden, Minuten und Sekunden zusammensetzt. Damit kann die Differenz zur aktuellen Zeit berechnet werden.
from datetime import datetime, timedelta  
now = datetime.now()  
midnight = datetime(now.year, now.month, now.day)  
sincemidnight = now - midnight  
print('Uhrzeit: ', now.time())  
  Uhrzeit:  20:28:36.657155  
print('Sekunden seit Mitternacht:', sincemidnight.seconds)  
  Sekunden seit Mitternacht: 73716
Edit this page
Last Updated:
Contributors: Janik von Rotz
Prev
Slides Thema 4