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
    • 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
        • Aufgaben
          • Aufgabe 10.1: Datenbank auslesen und sortieren
          • Aufgabe 10.2: Abfrage mit Input
    • 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 10

Aufgaben

Aufgaben zum Thema.

Danke an Hari Thavachchelvam für die Idee zur Aufgabenstellung.

Aufgabe 10.1: Datenbank auslesen und sortieren

Laden Sie als erstes die Datei quiz.db herunter und speichern Sie es in einem Ordner. Erstellen Sie die Datei quiz.py im selben Ordner.

Schauen Sie sich die Datenbank mit VSCode an und beantworten Sie diese Fragen:

  • Wieviele Datensätze gibt es?
  • Welche Spalte identifiziert die Datensätze eindeutig und wie heisst diese?
  • Welcher Datentyp hat diese Spalte?

Erstellen Sie nun ein Progamm um einen bestimmten Datensatz auszulesen. Ergänzen Sie dazu die Markierungen ????? im folgenden Code:

import sqlite3

# Verbindung, Cursor
connection = sqlite3.connect("?????.db")
cursor = connection.cursor()

# SQL-Abfrage
sql = "SELECT * FROM questions WHERE ????? = 403"

# Absenden der SQL-Abfrage und Empfang des Ergebnis
cursor.execute(sql)

# Ausgabe des Ergebnis
for datensatz in cursor:
    print("Frage: ", datensatz[1])
    print("Antworten: ", ', '.join(datensatz[2:6]))

# Verbindung beenden
connection.close()

⭐ Datenbank auslesen und sortieren

Aufgabe 10.2: Abfrage mit Input

Mit dem input Befehl können wir nach einer bestimmten Frage-ID und Antwort-Nummer fragen. Erweitern Sie das Skript aus der vorhergehenden Aufgabe mit dem Befehl.

Dazu diese Inputs:

# SQL-Abfrage mit Eingabe
frage = input("Bitte geben Sie eine Frage-ID ein: ")
sql = "SELECT * FROM questions WHERE questionID = " + frage
	# Eingabe Antwort
    antwort = input("Ihre Antwort 1-4: ")
    # Ausgabe korrekt/falsch
    korrekt = str(datensatz[6])
    if korrekt == antwort:
        print("\nDie Antwort ist korrekt!\n")
    else:
        print("\nDie Antwort ist falsch!\n")

⭐ Abfrage mit Input

Zusatzaufgabe

Können Sie das Programm in einer Schleife schalten, bis man die richtige Antwort gefunden hat?

Erstellen Sie eine eine Frage-ID nach Zufall und filtern Sie verfügbaren Fragen anhand des Schwierigkeits-Grades.

Edit this page
Last Updated:
Contributors: Janik von Rotz
Prev
Slides Thema 10