Ü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.dbopen in new window 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 sortierenopen in new window

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 Inputopen in new window

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.