python und “3*?”?

Mein neustes Buch ist wieder eins zum Lernen: Einstieg in Python3 dazu habe ich mir Gedanken in den Kopf gerufen, die ich mir früher einprägte:

Wenn du was programmieren willst (vor allem es auch lernen willst), entwickle etwas, an dem du Spaß hast und was DIR persönlich nützt…

Und so will ich eine Anwendung entwerfen, die mir zufällig eine Folge der “Drei Fragezeichen” abspielt. So weit so gut. Meine Idee dazu:

  1. Datenbank der Folgen (eventuell mit Info, die mir die Häufigkeit der Wiedergabe angibt)
    • Quelle ist Wikipedia.
    • Enthalten sind die Informationen zu den Folgen (siehe Wikipedia)
    • Wo hab ich sie her?
  2. Zufälligkeit entwickeln.
    • Was für Informationen sind nötig / möglich?
  3. Zufällige Auswahl auf MP3s anwenden
    • Also die tatsächliche Auswahl treffen: Zufallszahl auf Auswahl der Dateien anwenden
  4. MP3s mit VLC abspielen
    • Verknüpfung: Python –> andere Programme

Meine erste Idee war die Liste in eine SQLite-DB zu bekommen (auch da hilft mir das Buch) und ich habe folgenden Code umgesetzt:

#!/usr/bin/python
# -*- coding: iso-8859-1 -*-

import sqlite3

#verbindung zur DB und cursor
connection = sqlite3.connect("dreifragezeichen.db")
cursor = connection.cursor()

#tabelle erzeugen

 sql = "CREATE TABLE folgen(" \
 "id INTEGER PRIMARY KEY, " \
 "nr_kosmos INTEGER, " \
 "nr_europa INTEGER, " \
 "nr_random INTEGER, " \
 "titel_en TEXT, " \
 "titel_de    TEXT, " \
 "autor TEXT, " \
 "jahr_random INTEGER, " \
 "jahr_kosmos INTEGER, " \
 "jahr_europa INTEGER, " \
 "zuletzt_ges INTEGER, " \
 "quelle TEXT, " \
 "vorhanden INTEGER)"
cursor.execute(sql)

#tabelle leeren

sql = "DELETE FROM folgen WHERE id < 200"
cursor.execute(sql)
connection.commit()

#Datensatz erzeugen
sql = "INSERT INTO folgen VALUES (1, 1, 1, 1, 'The Secret of Terror Castle ', '... und das Gespensterschloss ', 'Robert Arthur ', 1964, 1968, 1980, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (2, 2, 2, 3, 'The Mystery of the Whispering Mummy ', '... und die fluesternde Mumie ', 'Robert Arthur ', 1965, 1969, 1980, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (3, 3, 3, 7, 'The Mystery of the Fiery Eye ', '... und der Fluch des Rubins ', 'Robert Arthur ', 1967, 1970, 1979, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (4, 4, 4, 9, 'The Mystery of the Screaming Clock ', '... und der seltsame Wecker ', 'Robert Arthur ', 1968, 1970, 1980, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (5, 5, 5, 11, 'The Mystery of the Talking Skull ', '... und der sprechende Totenkopf ', 'Robert Arthur ', 1969, 1971, 1979, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (6, 6, 6, 12, 'The Mystery of the Laughing Shadow ', '... und der lachende Schatten ', 'William Arden ', 1969, 1971, 1980, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (7, 7, 7, 13, 'The Secret of the Crooked Cat ', '... und die schwarze Katze ', 'William Arden ', 1970, 1971, 1979, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (8, 8, 8, 2, 'The Mystery of the Stuttering Parrot ', '... und der Super-Papagei ', 'Robert Arthur ', 1964, 1972, 1979, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (9, 9, 9, 14, 'The Mystery of the Coughing Dragon ', '... und der unheimliche Drache ', 'Nick West ', 1970, 1972, 1979, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (10, 10, 10, 5, 'The Mystery of the Vanishing Treasure ', '... und der verschwundene Schatz ', 'Robert Arthur ', 1966, 1973, 1981, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (11, 11, 11, 6, 'The Secret of Skeleton Island ', '... und die Geisterinsel ', 'Robert Arthur ', 1966, 1973, 1980, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (12, 12, 12, 16, 'The Mystery of the Nervous Lion ', '... und der rasende Loewe ', 'Nick West ', 1971, 1974, 1980, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (13, 13, 13, 10, 'The Mystery of the Moaning Cave ', '... und der Teufelsberg ', 'William Arden ', 1968, 1974, 1980, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (14, 14, 14, 4, 'The Mystery of the Green Gost ', '... und der gruene Geist ', 'Robert Arthur ', 1965, 1975, 1979, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (15, 15, 15, 17, 'The Mystery of the Singing Serpent ', '... und die singende Schlange ', 'M.V. Carey ', 1972, 1975, 1981, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (16, 16, 16, 18, 'The Mystery of the Shrinking House ', '... und die raetselhaften Bilder ', 'William Arden ', 1972, 1976, 1979, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (17, 17, 17, 20, 'The Mystery of Monster Mountain ', '... und das Bergmonster ', 'M.V. Carey ', 1973, 1976, 1980, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (18, 18, 18, 19, 'The Secret of Phantom Lake ', '... und der Phantomsee ', 'William Arden ', 1973, 1977, 1979, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (19, 19, 19, 21, 'The Secret of the Haunted Mirror ', '... und der Zauberspiegel ', 'M.V. Carey ', 1974, 1977, 1980, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (20, 20, 20, 22, 'The Mystery of the Dead Mans Riddle ', '... und die gefaehrliche Erbschaft ', 'William Arden ', 1974, 1978, 1980, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (21, 21, 21, 23, 'The Mystery of the Invisible Dog ', '... und der Karpatenhund ', 'M.V. Carey ', 1975, 1978, 1979, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (22, 22, 22, 15, 'The Mystery of the Flaming Footprints ', '... und die flammende Spur ', 'M.V. Carey ', 1971, 1979, 1980, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (23, 23, 23, 25, 'The Mystery of the Dancing Devil ', '... und der Tanzende Teufel ', 'William Arden ', 1976, 1979, 1980, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (24, 24, 24, 24, 'The Mystery of Death Trap Mine ', '... und die Silbermine ', 'M.V. Carey ', 1976, 1980, 1981, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (25, 25, 25, 26, 'The Mystery of the Headless Horse ', '... und das Aztekenschwert ', 'William Arden ', 1977, 1980, 1981, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (26, 26, 26, 8, 'The Mystery of the Silver Spider ', '... und die silberne Spinne* ', 'Robert Arthur ', 1967, 1981, 1981, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (27, 27, 27, 27, 'The Mystery of the Magic Circle ', '... und der magische Kreis ', 'M.V. Carey ', 1978, 1981, 1981, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (28, 28, 28, 28, 'The Mystery of the Deadly Double ', '... und der Doppelgaenger ', 'William Arden ', 1978, 1982, 1982, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (29, 29, 29, 30, 'The Secret of Shark Reef ', '... und das Riff der Haie ', 'William Arden ', 1979, 1982, 1982, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (30, 30, 30, 31, 'The Mystery of the Scar-Faced Beggar ', '... und das Narbengesicht** ', 'M.V. Carey ', 1981, 1982, 1983, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (31, 31, 31, 29, 'The Mystery of the Sinister Scarecrow ', '... und der Ameisenmensch ', 'M.V. Carey ', 1979, 1983, 1983, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (32, 32, 32, 32, 'The Mystery of the Blazing Cliffs ', '... und die bedrohte Ranch ', 'M.V. Carey ', 1981, 1983, 1983, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (33, 33, 33, 33, 'The Mystery of the Purple Pirate ', '... und der Rote Pirat ', 'William Arden ', 1982, 1984, 1984, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (34, 34, 34, 34, 'The Mystery of the Wandering Caveman ', '... und der Hoehlenmensch ', 'M.V. Carey ', 1982, 1984, 1984, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (35, 35, 35, 36, 'The Mystery of the Missing Mermaid ', '... und der heimliche Hehler ', 'M.V. Carey ', 1983, 1985, 1985, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (36, 36, 36, 35, 'The Mystery of the Kidnapped Whale ', '... und der Super-Wal ', 'Marc Brandel ', 1983, 1985, 1985, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (37, 37, 37, 37, 'The Mystery of the Two-Toed Pigeon ', '... und die Perlenvoegel ', 'Marc Brandel ', 1984, 1986, 1986, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (38, 38, 38, 39, 'The Mystery of the Trail of Terror ', '... und der unsichtbare Gegner ', 'M.V. Carey ', 1984, 1986, 1986, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (39, 39, 39, 38, 'The Mystery of the Smashing Glass ', '... und der Automarder ', 'William Arden ', 1984, 1987, 1986, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (40, 40, 40, 0, 'The Case of the Dancing Dinosaur ', '... und das Volk der Winde ', 'Rose Estes ', 1985, 1987, 1987, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (41, 41, 41, 0, 'The Case of the Weeping Coffin ', '... und der weinende Sarg ', 'Megan Stine ', 1985, 1988, 1987, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (42, 42, 42, 41, 'The Mystery of the Creep-Show Crooks ', '... und der hoellische Werwolf ', 'M.V. Carey ', 1985, 1988, 1988, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (43, 43, 43, 40, 'The Mystery of the Rogues Reunion ', '... und der gestohlene Preis ', 'Marc Brandel ', 1985, 1988, 1988, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (44, 44, 44, 42, 'The Mystery of Wreckers Rock ', '... und das Gold der Wikinger ', 'William Arden ', 1986, 1989, 1989, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (45, 45, 45, 43, 'The Mystery of the Cranky Collector ', '... und der schrullige Millionaer ', 'M.V. Carey ', 1987, 1989, 1989, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (46, 46, 46, 0, 'Funny Business ', '... und die Comic-Diebe ', 'William McCay ', 1989, 1990, 1990, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (47, 47, 47, 0, 'Rough Stuff ', '... und die gefaehrlichen Faesser ', 'G.H. Stone ', 1989, 1990, 1990, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (48, 48, 48, 0, 'Murder To Go ', '... und der giftige Gockel ', 'Megan + William Stine ', 1989, 1990, 1990, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (49, 49, 49, 0, 'Hot Wheels ', '... und die Automafia ', 'William Arden ', 1989, 1991, 1991, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (50, 50, 50, 0, 'Reel Trouble ', '... und die Musikpiraten ', 'G.H. Stone ', 1989, 1991, 1991, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (51, 51, 51, 0, 'Thriller Diller ', '... und der verschwundene Filmstar ', 'Megan + William Stine ', 1989, 1991, 1991, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (52, 52, 52, 0, 'An Ear For Danger ', '... und der riskante Ritt ', 'Marc Brandel ', 1989, 1991, 1991, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (53, 53, 53, 0, 'Long Shot ', 'Gekaufte Spieler ', 'Megan + William Stine ', 1990, 1992, 1992, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (54, 54, 54, 0, 'Foul Play ', 'Gefahr im Verzug ', 'Peter Lerangis ', 1990, 1992, 1992, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (55, 55, 55, 0, 'Fatal Error ', 'Angriff der Computerviren ', 'G.H. Stone ', 1990, 1992, 1992, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (56, 56, 56, 0, 'xxx', 'Tatort Zirkus ', 'Brigitte-Johanna Henkel-Waidhofer ', 1993, 1994, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (57, 57, 57, 0, 'xxx', '... und der verrueckte Maler ', 'Brigitte-Johanna Henkel-Waidhofer ', 1993, 1994, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (58, 58, 58, 0, 'xxx', 'Giftiges Wasser ', 'Brigitte-Johanna Henkel-Waidhofer ', 1993, 1994, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (59, 59, 59, 0, 'xxx', 'Dopingmixer ', 'Brigitte-Johanna Henkel-Waidhofer ', 1994, 1994, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (60, 60, 60, 0, 'xxx', '... und die Rache des Tigers ', 'Brigitte-Johanna Henkel-Waidhofer ', 1994, 1995, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (61, 61, 61, 0, 'xxx', 'Spuk im Hotel ', 'Brigitte-Johanna Henkel-Waidhofer ', 1994, 1995, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (62, 62, 62, 0, 'xxx', 'Fussball0Ganster ', 'Brigitte-Johanna Henkel-Waidhofer ', 1995, 1995, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (63, 63, 63, 0, 'xxx', 'Geisterstadt ', 'Brigitte-Johanna Henkel-Waidhofer ', 1995, 1995, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (64, 64, 64, 0, 'xxx', 'Diamantenaschmuggel ', 'Brigitte-Johanna Henkel-Waidhofer ', 1995, 1995, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (65, 65, 65, 0, 'xxx', '... und die Schattenmaenner ', 'Brigitte-Johanna Henkel-Waidhofer ', 1995, 1995, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (66, 66, 66, 0, 'xxx', 'Geheimnis der Saerge ', 'Brigitte-Johanna Henkel-Waidhofer ', 1996, 1996, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (67, 67, 67, 0, 'xxx', 'Schatz im Bergsee ', 'Brigitte-Johanna Henkel-Waidhofer ', 1996, 1996, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (68, 68, 68, 0, 'xxx', 'Spaete Rache ', 'Brigitte-Johanna Henkel-Waidhofer ', 1996, 1996, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (69, 69, 69, 0, 'xxx', 'Schuesse aus dem Dunkeln ', 'Brigitte-Johanna Henkel-Waidhofer ', 1996, 1996, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (70, 70, 70, 0, 'xxx', 'Die verschwundene Seglerin ', 'Brigitte-Johanna Henkel-Waidhofer ', 1996, 1996, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (71, 71, 71, 0, 'xxx', 'Dreckiger Deal ', 'Brigitte-Johanna Henkel-Waidhofer ', 1996, 1996, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (72, 72, 72, 0, 'xxx', 'Spur des Raben ', 'Andre Marx ', 1997, 1997, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (73, 73, 73, 0, 'xxx', 'Poltergeist ', 'Andre Marx ', 1997, 1997, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (74, 74, 74, 0, 'xxx', '... und das brennende Schwert ', 'Andre Marx ', 1997, 1997, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (75, 75, 75, 0, 'xxx', 'Pistenteufel ', 'Ben Nevis ', 1997, 1997, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (76, 76, 76, 0, 'xxx', 'Stimmen aus dem Nichts ', 'Andre Minninger ', 1997, 1997, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (77, 77, 77, 0, 'xxx', 'Das leere Grab ', 'Andre Marx ', 1997, 1998, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (78, 78, 78, 0, 'xxx', 'Verdeckte Fouls ', 'Ben Nevis ', 1998, 1998, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (79, 79, 79, 0, 'xxx', 'Im Bann des Voodoo ', 'Andre Minninger ', 1998, 1998, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (80, 80, 80, 0, 'xxx', 'Geheimsache Ufo* ', 'Andre Marx ', 1998, 1998, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (81, 81, 81, 0, 'xxx', 'Meuterei auf hoher See ', 'Andre Marx ', 1998, 1999, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (82, 82, 82, 0, 'xxx', 'Musik des Teufels ', 'Andre Marx ', 1998, 1999, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (83, 83, 83, 0, 'xxx', 'Die Karten des Boesen ', 'Andre Minninger ', 1998, 1998, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (84, 84, 84, 0, 'xxx', 'Wolfsgesicht ', 'Katharina Fischer ', 1999, 1998, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (85, 85, 85, 0, 'xxx', 'Nacht in Angst ', 'Andre Marx ', 1999, 1999, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (86, 86, 86, 0, 'xxx', 'Feuerturm ', 'Ben Nevis ', 1999, 1999, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (87, 87, 87, 0, 'xxx', 'Toedliche Spur ', 'Andre Marx ', 1999, 2000, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (88, 88, 88, 0, 'xxx', 'Vampir im Internet ', 'Andre Minninger ', 1999, 1999, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (89, 89, 89, 0, 'xxx', '... und das Geisterschiff ', 'Andre Marx ', 2000, 2000, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (90, 90, 90, 0, 'xxx', 'Todesflug ', 'Ben Nevis ', 2000, 2000, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (91, 91, 91, 0, 'xxx', 'Labyrinth der Goetter ', 'Andre Marx ', 2000, 2000, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (92, 92, 92, 0, 'xxx', '... und der rote Raecher ', 'Katharina Fischer ', 2000, 2001, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (93, 93, 93, 0, 'xxx', 'Das schwarze Monster ', 'Andre Marx ', 2000, 2000, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (94, 94, 94, 0, 'xxx', 'Botschaft von Geisterhand ', 'Andre Marx ', 2000, 2001, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (95, 95, 95, 0, 'xxx', 'Insektenstachel ', 'Andre Minninger ', 2001, 2001, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (96, 96, 96, 0, 'xxx', 'Rufmord ', 'Andre Minninger ', 2001, 2001, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (97, 97, 97, 0, 'xxx', 'Tal des Schreckens ', 'Ben Nevis ', 2001, 2001, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (98, 98, 98, 0, 'xxx', 'Doppelte Taeuschung ', 'Andre Marx ', 2001, 2002, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (99, 99, 99, 0, 'xxx', '… und das Hexenhandy ', 'Andre Minninger ', 2001, 2001, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (100, 100, 100, 0, 'xxx', 'Toteninsel: Das Raetsel der Sphinx, Das vergessene Volk, Der Fluch der Graeber', 'Andre Marx', 2001, 2001, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (101, 101, 101, 0, 'xxx', 'Das Erbe des Meisterdiebs ', 'Andre Marx ', 2002, 2002, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (102, 102, 102, 0, 'xxx', 'Gift per E0Mail ', 'Ben Nevis ', 2002, 2002, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (103, 103, 103, 0, 'xxx', '... und der Nebelberg ', 'Andre Marx ', 2002, 2002, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (104, 104, 104, 0, 'xxx', 'Der Mann ohne Kopf ', 'Andre Minninger ', 2002, 2002, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (105, 105, 105, 0, 'xxx', '... und der Schatz der Moenche ', 'Ben Nevis ', 2002, 2003, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (106, 106, 106, 0, 'xxx', 'Die sieben Tore ', 'Andre Marx ', 2002, 2003, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (107, 107, 107, 0, 'xxx', 'Gefaehrliche Quiz ', 'Marco Sonnleitner ', 2003, 2003, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (108, 108, 108, 0, 'xxx', 'Panik im Park ', 'Marco Sonnleitner ', 2003, 2003, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (109, 109, 109, 0, 'xxx', 'Die Hoehle des Grauens ', 'Ben Nevis ', 2003, 2003, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (110, 110, 110, 0, 'xxx', 'Das Auge des Drachen ', 'Andre Marx ', 2003, 2003, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (111, 111, 111, 0, 'xxx', 'Schlucht der Daemonen ', 'Marco Sonnleitner ', 2003, 2003, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (112, 112, 112, 0, 'xxx', 'Die Villa der Toten ', 'Andre Marx ', 2003, 2004, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (113, 113, 113, 0, 'xxx', 'Der Feuerteufel** ', 'Andre Marx ', 1999, 2000, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (114, 114, 114, 0, 'xxx', 'Der finstere Rivale ', 'Andre Marx ', 2004, 2004, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (115, 115, 115, 0, 'xxx', 'Codename: Cobra ', 'Marco Sonnleitner ', 2004, 2004, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (116, 116, 116, 0, 'xxx', 'Auf toedlichem Kurs ', 'Ben Nevis ', 2004, 2004, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (117, 117, 117, 0, 'xxx', 'Der schwarze Skorpion*** ', 'Marco Sonnleitner ', 2004, 2005, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (118, 118, 118, 0, 'xxx', 'Das duestere Vermaechtnis ', 'Ben Nevis ', 2004, 2004, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (119, 119, 119, 0, 'xxx', 'Der geheime Schluessel ', 'Andre Marx ', 2004, 2004, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (120, 120, 120, 0, 'xxx', 'Spur ins Nichts ', 'Andre Marx ', 2005, 2008, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (121, 121, 121, 0, 'xxx', '... und der Geisterzug ', 'Astrid Vollenbruch ', 2005, 2008, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (122, 122, 122, 0, 'xxx', 'Fussballfieber ', 'Marco Sonnleitner ', 2005, 2008, 0, 0, 'Tavo', 1)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (123, 123, 123, 0, 'xxx', 'Schrecken aus dem Moor ', 'Marco Sonnleitner ', 2005, 2008, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (124, 124, 124, 0, 'xxx', 'Geister0Canyon ', 'Ben Nevis ', 2005, 2008, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (125, 125, 125, 0, 'xxx', 'Feuermond: Das Raetsel der Meister, Der Pfad der Taeuschung, Die Nacht der Schatten', 'Andre Marx', 2005, 2008, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (126, 126, 126, 0, 'xxx', 'SMS aus dem Grab ', 'Ben Nevis ', 2006, 2009, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (127, 127, 127, 0, 'xxx', 'Schwarze Madonna ', 'Astrid Vollenbruch ', 2006, 2008, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (128, 128, 128, 0, 'xxx', 'Schatten ueber Hollywood ', 'Astrid Vollenbruch ', 2006, 2009, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (129, 129, 129, 0, 'xxx', 'Spuk im Netz ', 'Astrid Vollenbruch ', 2006, 2009, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (130, 130, 130, 0, 'xxx', 'Der Fluch des Drachen ', 'Andre Marx ', 2006, 2009, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (131, 131, 131, 0, 'xxx', 'Haus des Schreckens ', 'Marco Sonnleitner ', 2006, 2009, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (132, 132, 132, 0, 'xxx', 'Fluch des Piraten ', 'Ben Nevis ', 2007, 2009, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (133, 133, 133, 0, 'xxx', 'Fels der Daemonen ', 'Marco Sonnleitner ', 2007, 2009, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (134, 134, 134, 0, 'xxx', 'Der tote Moench ', 'Marco Sonnleitner ', 2007, 2009, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (135, 135, 135, 0, 'xxx', 'Die geheime Treppe ', 'Marco Sonnleitner ', 2007, 2010, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (136, 136, 136, 0, 'xxx', '... und das versunkene Dorf ', 'Andre Marx ', 2007, 2010, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (137, 137, 137, 0, 'xxx', 'Pfad der Angst ', 'Astrid Vollenbruch ', 2007, 2010, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (138, 138, 138, 0, 'xxx', '... und die Fussball-Falle ', 'Marco Sonnleitner ', 2008, 2010, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (139, 139, 139, 0, 'xxx', 'Das Geheimnis der Diva ', 'Astrid Vollenbruch ', 2008, 2010, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (140, 140, 140, 0, 'xxx', 'Stadt der Vampire ', 'Marco Sonnleitner ', 2008, 2010, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (141, 141, 141, 0, 'xxx', 'Zwillinge der Finsternis ', 'Marco Sonnleitner ', 2008, 2011, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (142, 142, 142, 0, 'xxx', 'Toedliches Eis ', 'Kari Erlhoff ', 2008, 2010, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (143, 143, 143, 0, 'xxx', '... und die Pokerhoelle ', 'Marco Sonnleitner ', 2008, 2010, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (144, 144, 144, 0, 'xxx', 'Grusel auf Campell Castle ', 'Marco Sonnleitner ', 2009, 9999, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (145, 145, 145, 0, 'xxx', '... und die Rache der Samurai ', 'Ben Nevis ', 2009, 2011, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (146, 146, 146, 0, 'xxx', 'Der Biss der Bestie ', 'Kari Erlhoff ', 2009, 9999, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (147, 147, 147, 0, 'xxx', 'Schwarze Sonne ', 'Marco Sonnleitner ', 2009, 9999, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (148, 148, 148, 0, 'xxx', '… und die feurige Flut ', 'Kari Erlhoff ', 2009, 0, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (149, 149, 149, 0, 'xxx', 'Der namenlose Gegner ', 'Kari Erlhoff ', 2009, 9999, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (150, 150, 150, 0, 'xxx', 'Geisterbucht: Rashuras Schatz, Flammendes Wasser, Der brennende Kristall', 'Astrid Vollenbruch ', 2010, 0, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (151, 151, 151, 0, 'xxx', 'Skateboardfieber ', 'Ben Nevis ', 2010, 9999, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (152, 152, 152, 0, 'xxx', '… und das Fussballphantom ', 'Marco Sonnleitner ', 2010, 0, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (153, 153, 153, 0, 'xxx', 'Botschaft aus der Unterwelt ', 'Kari Erlhoff ', 2010, 9999, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (154, 154, 154, 0, 'xxx', '... und der Meister des Todes ', 'Kari Erlhoff ', 2010, 0, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (155, 155, 155, 0, 'xxx', 'Im Netz des Drachen ', 'Marco Sonnleitner ', 2010, 9999, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (156, 0, 0, 0, 'Brain Wash ', 'Gefangene Gedanken ', 'Peter Lerangis ', 1990, 2011, 9999, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (157, 0, 0, 0, 'High Strung ', 'Unter Hochspannung ', 'G.H. Stone ', 1990, 2011, 9999, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (158, 0, 0, 0, 'Shoot the Works ', 'xxx', 'William McCay ', 1990, 9999, 9999, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (159, 0, 0, 0, 'The Case of the House of Horrors ', 'Haus der Angst ', 'Megan + William Stine ', 1986, 2011, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (160, 0, 0, 0, 'The Case of the Savage Statue ', 'xxx', 'M.V. Carey ', 1987, 0, 0, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();
sql = "INSERT INTO folgen VALUES (161, 0, 0, 0, 'xxx', 'Die Originalmusik ', 'B. Brac/B. George ', 0, 0, 1982, 0, 'Tavo', 0)"; cursor.execute(sql); connection.commit();

#verbindung beenden
connection.close()

Das also hat mir meine Datenbank erzeugt und ich war schon völlig aus dem Häuschen, dass das so geklappt hat, wie ich mir das vorstellte. Dann kam die nächste Herausforderung: wie bekomme ich nun eine zufällige Auswahl hin. Von genau einer Folge???

Ich hab’s so gelöst:

#!/usr/bin/python
# -*- coding: iso-8859-1 -*-

import sqlite3
import random 

#verbindung zur DB und cursor
connection = sqlite3.connect("dreifragezeichen.db")
cursor = connection.cursor()

#maximal Anzahl der Folgen bestimmen
sql = "SELECT COUNT (*) FROM folgen WHERE vorhanden = 1"
cursor.execute(sql)

for dsatz in cursor:
 maxzahl = dsatz[0]

#zufallsvriable aus der menge der zahlen bestimmen
zufall = random.randint(1, maxzahl)

#DEBUGGING HILFE
print zufall

#SQL-Abfrage
sql = "SELECT * FROM folgen WHERE vorhanden = 1 AND nr_europa = %d ORDER BY id" % (zufall)

#DEBUGGING HILFE
#kontrollausgabe
print(sql)

#absenden der SQL-Abfrage
#Empfang des Ergebnisses
cursor.execute(sql)

#Ausgabe des Ergebnisses: [0] id, [1] nr_kosmos, [2] nr_europa,
# [3] nr_random, [4] titel_en, [5] titel_de, [6] autor,
# [7] jahr_random, [8] jahr_kosmos, [9] jahr_europa,
# [10] zuletzt_ges, [11] quelle, [12] vorhanden

for dsatz in cursor:
 print(dsatz[2], dsatz[5], dsatz[9], dsatz[12])

#verbindung beenden
connection.close()

Der Output aus der Anwendung ist schon recht zufriedenstellend:

71
SELECT * FROM folgen WHERE vorhanden = 1 AND nr_europa = 71 ORDER BY id
(71, u'Dreckiger Deal ', 0, 1)

Zum Starten einer VLC-Anwendung mit der entsprechenden MP3 brauche ich ja eigentlich nur die erste Zeile, nämlich die zufällige Nummer der Folge. Jedoch sind in dem Beispiel die erste und die zweite Zeile nur Debugging-Zwecken gewidmet, wobei, vielleicht, … mhhhh … vielleicht benutze ich die auch weiter??? Also nur die Zahl?

Das überlege ich mir noch… dazu sind im Übrigen auch Vorschläge und Ideen euererseits sehr willkommen… Also was meint ihr, wie einfach es jetzt noch ist, eine Datei der Nummer (beispielsweise) 71.mp3 im VLC über Python zu öffnen, eventuell sogar noch noch eine kleine GUI zu programmieren?

LG FOE

Share/Save