Sobota , 28 Červen 2025
Domů Programování Python trénování slovíček
ProgramováníPython

Python trénování slovíček

blank
blank

V tomto příkladě se slovíčka ukládají do SQLite databáze vocabulary.db do tabulky vocabulary. Při spuštění programu se nejprve vytváří spojení s databází a poté se kontroluje, zda existuje tabulka pro slovíčka – pokud ne, je vytvořena. Poté se spouští hlavní smyčka programu, kde je možné přidávat slovíčka a trénovat.
Ukládání slovíček je provedeno pomocí SQL příkazu INSERT INTO a čtení slovíček pomocí příkazu SELECT. Při ukládání slovíček je důležité použít metodu commit() pro uložení změn do databáze.
Pro složitější operace s databázemi může být vhodné využít některého ORM (Object-Relational Mapping) nástroje, jako je například SQLAlchemy.

V tomto programu máme slovník vocabulary, kde klíči jsou anglická slova a hodnotami jsou české překlady. V hlavní smyčce je pět možností:

  • Přidání nového slovíčka, kde uživatel zadá anglické slovíčko a jeho český překlad.
  • Trénink slovíček, kde program postupně vypisuje anglická slovíčka a uživatel má zadat jejich české překlady. Program pak zkontroluje, zda je odpověď správná.
  • Úpravu již existujících slovíček. Tuto funkci můžete implementovat tak, že uživatele se zeptáte na slovíčko, které chce upravit, a poté mu umožníte zadat nový překlad.
  • Mazání slovíček. Tato funkce může funguje tak, že se uživatelovi zobrazí seznam všech slovíček a on si vybere to, které chce odstranit. Zde jsme přidali funkci delete_word, která získá anglické slovíčko od uživatele a odstraní ho z databáze pomocí SQL příkazu DELETE.
  • Ukončení programu.
import sqlite3

def add_word(cursor, conn):
    en = input("Zadejte anglické slovíčko: ")
    cz = input("Zadejte český překlad: ")
    cursor.execute("INSERT INTO vocabulary VALUES (?, ?)", (en, cz))
    conn.commit()
    print("Slovíčko bylo přidáno.")

def train(cursor):
    cursor.execute("SELECT * FROM vocabulary")
    words = cursor.fetchall()
    if not words:
        print("Nejsou dostupné žádné slovíčka pro trénink.")
    else:
        for en, cz in words:
            print(f"Jak se do češtiny překládá slovíčko '{en}'?")
            answer = input("Váš překlad: ")
            if answer == cz:
                print("Správně!")
            else:
                print(f"Špatně, správně je '{cz}'.")

def edit_word(cursor, conn):
    en = input("Zadejte anglické slovíčko, které chcete upravit: ")
    cursor.execute("SELECT * FROM vocabulary WHERE english = ?", (en,))
    word = cursor.fetchone()
    if word is None:
        print("Toto slovíčko v seznamu neexistuje.")
    else:
        print(f"Aktuální překlad slovíčka '{en}' je '{word[1]}'.")
        cz = input("Zadejte nový překlad: ")
        cursor.execute("UPDATE vocabulary SET czech = ? WHERE english = ?", (cz, en))
        conn.commit()
        print("Překlad slovíčka byl aktualizován.")

def delete_word(cursor, conn):
    en = input("Zadejte anglické slovíčko, které chcete smazat: ")
    cursor.execute("DELETE FROM vocabulary WHERE english = ?", (en,))
    conn.commit()
    print("Slovíčko bylo smazáno.")

conn = sqlite3.connect('vocabulary.db')
cursor = conn.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS vocabulary (english TEXT, czech TEXT)")

print("Co chcete dělat? Přidat nové slovíčko (1), trénovat (2), upravit slovíčko (3), smazat slovíčko (4), nebo ukončit program (0)?")
choice = input("Vaše volba: ")

while True:
    if choice == "1":
        add_word(cursor, conn)
    elif choice == "2":
        train(cursor)
    elif choice == "3":
        edit_word(cursor, conn)
    elif choice == "4":
        delete_word(cursor, conn)
    elif choice == "0":
        print("Program bude ukončen.")
        break
    else:
        print("Zadali jste nesprávnou volbu. Zkuste to znovu.")

Zanechte komentář

Napsat komentář

Související články

blank
ProgramováníStrojové učeníUmělá inteligence

Neuromorfní čipy vs. GPU/TPU

Top články Neuromorfní čipy vs. GPU/TPU 19. 6. 2025 Edge-AI v IoT:...

blank
PythonTensorFlow.js

🐍 Úvod do TensorFlow Lite & Python

TensorFlow Lite (TFLite) ve spojení s Pythonem otevírá dveře on-device strojovému učení...

blank
Python

Detekční systém v Pythonu s GPU akcelerací

Desktop Motion Detection s GPU akcelerací🎯 Účel programuTento nástroj sleduje vybrané okno...

blank
PythonYouTube videa

Python generátor náhledového obrázku YouTube videa

import re import os import requests import argparse from urllib.parse import urlparse,...