Začněte nyníZačněte zdarma

Sestavování dotazů z parametrů

Teď implementuješ výkonnější funkci pro dotazování databáze hotelů. Cílem je, aby tato funkce přijímala argumenty, které mohou být později specifikovány jinými částmi tvého kódu.

Konkrétně tvým úkolem je definovat funkci find_hotels(), která přijme jediný argument – slovník názvů sloupců a hodnot – a vrátí seznam odpovídajících hotelů z databáze.

Toto cvičení je součástí kurzu

Building Chatbots in Python

Zobrazit kurz

Pokyny k cvičení

  • Byl pro tebe připraven seznam filters. Spoj tento seznam dohromady s řetězci " WHERE " a " and ".
  • Vytvoř tuple hodnot ze slovníku params.
  • Vytvoř připojení a kurzor k "hotels.db" a poté spusť dotaz query, stejně jako v předchozím cvičení.
  • Vrať výsledky dotazu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Define find_hotels()
def find_hotels(params):
    # Create the base query
    query = 'SELECT * FROM hotels'
    # Add filter clauses for each of the parameters
    if len(params) > 0:
        filters = ["{}=?".format(k) for k in params]
        query += " ____ " + " ____ ".join(____)
    # Create the tuple of values
    t = tuple(____)
    
    # Open connection to DB
    conn = sqlite3.connect("____")
    # Create a cursor
    c = ____
    # Execute the query
    ____
    # Return the results
    ____
Upravit a spustit kód