Teema “Sõnastik”

Sõnastikud

Mõiste: Andmestruktuur võtme-väärtuse paaridena.

Loomine:

  • Tühi: andmed = {}.
  • Andmetega: andmed = {‘nimi’: ‘Mari’, ‘vanus’: 25}.
  • Funktsiooniga: andmed = dict(nimi=’Mari’, vanus=25).

Tehted:

  • Juurdepääs: andmed[‘nimi’] või andmed.get(‘nimi’, ‘Vaikeväärtus’).
  • Muutmine/lisamine: andmed[‘nimi’] = ‘Kati’; andmed[‘email’] = ‘kati@example.com’.
  • Eemaldamine: del andmed[‘vanus’] või andmed.pop(‘vanus’).
  • Iteratsioon: for k, v in andmed.items(): print(k, v).

Meetodid:

  • get(voti, default): Väärtus võtme järgi või vaikimisi väärtus.
  • keys(), values(), items(): Võtmed, väärtused, võtme-väärtuse paarid.
  • update(dict): Lisab/värskendab paare teisest sõnastikust.
  • pop(voti): Eemaldab võtme ja tagastab väärtuse.
  • clear(): Tühjendab sõnastiku.

Näide loendist loomiseks:

read = ['Kes?:Jaan', 'Kus?:Tallinn']
kus_vas = {rida.split(':')[0].strip(): rida.split(':')[1].strip() for rida in read}
# {'Kes?': 'Jaan', 'Kus?': 'Tallinn'}
Võtme kontroll: if ‘nimi’ in andmed: print(‘Võti olemas!’).

Tekst kõneks

Eesmärk: Teksti muutmine kõneks Pythonis.

Moodulid:

pyttsx3 (offline):
Paigaldus: pip install pyttsx3.

Kood:

import pyttsx3
def raagi(tekst):
    mootor = pyttsx3.init()
    mootor.say(tekst)
    mootor.runAndWait()
raagi("Tere, maailm!")
Plussid: Töötab ilma internetita, ei salvesta faile.
Miinused: Robotlik hääl, piiratud keeletugi.
gTTS + playsound (online):
Paigaldus: pip install gTTS playsound.

Kood:

from gtts import gTTS
from playsound import playsound
def raagi(tekst, keel='et'):
    obj = gTTS(text=tekst, lang=keel, slow=False)
    obj.save("heli.mp3")
    playsound("heli.mp3")
raagi("Tere, maailm!", 'et')
Plussid: Kvaliteetne hääl, toetab palju keeli (et, ru, en jne).
Miinused: Vajab internetti, salvestab ajutise faili.
gTTS keelekoodid: et (eesti), ru (vene), en (inglise), de (saksa), fi (soome).

Kasutus: Näiteks sõnastikus:

sonastik = {'koer': 'собака'}
raagi('koer', 'et')
raagi(sonastik['koer'], 'ru')

Vene keel:

Словари

Определение: Структура данных, хранящая пары ключ-значение.
Создание:
  • Пустой: andmed = {}.
  • С данными: andmed = {‘nimi’: ‘Mari’, ‘vanus’: 25}.
  • Функцией: andmed = dict(nimi=’Mari’, vanus=25).
Операции:
  • Доступ: andmed[‘nimi’] или andmed.get(‘nimi’, ‘По умолчанию’).
  • Изменение/добавление: andmed[‘nimi’] = ‘Kati’; andmed[‘email’] = ‘kati@example.com’.
  • Удаление: del andmed[‘vanus’] или andmed.pop(‘vanus’).
  • Итерация: for k, v in andmed.items(): print(k, v).
Методы:
  • get(voti, default): Значение по ключу или значение по умолчанию.
  • keys(), values(), items(): Ключи, значения, пары ключ-значение.
  • update(dict): Добавление/обновление пар из другого словаря.
  • pop(voti): Удаление ключа и возврат значения.
  • clear(): Очистка словаря.
Пример создания из списка:
read = ['Кто?:Иван', 'Где?:Москва']
kus_vas = {rida.split(':')[0].strip(): rida.split(':')[1].strip() for rida in read}
# {'Кто?': 'Иван', 'Где?': 'Москва'}
Проверка ключа: if ‘nimi’ in andmed: print(‘Ключ есть!’).

Текст в речь

Цель: Преобразование текста в речь с использованием Python.
Модули:
pyttsx3 (офлайн):
Установка: pip install pyttsx3.
Код:
import pyttsx3
def raagi(tekst):
    mootor = pyttsx3.init()
    mootor.say(tekst)
    mootor.runAndWait()
raagi("Привет, мир!")
Плюсы: Работает без интернета, не требует сохранения файлов.
Минусы: Роботизированный голос, ограниченная поддержка языков.
gTTS + playsound (онлайн):
Установка: pip install gTTS playsound.
Код:
from gtts import gTTS
from playsound import playsound
def raagi(tekst, keel='et'):
    obj = gTTS(text=tekst, lang=keel, slow=False)
    obj.save("heli.mp3")
    playsound("heli.mp3")
raagi("Привет, мир!", 'ru')
Плюсы: Высокое качество голоса, поддержка множества языков (ru, et, en и др.).
Минусы: Требует интернет, сохраняет временный файл.
Коды языков для gTTS: et (эстонский), ru (русский), en (английский), de (немецкий), fi (финский).
Применение: Использование в словарях, например:
sonastik = {'koer': 'собака'}
raagi('koer', 'et')
raagi(sonastik['koer'], 'ru')