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')