Sõnastik on võtme-väärtus paaride kogum, mis võimaldab kiiret ligipääsu andmetele.
Создание словарей / Sõnastike loomine
# Пустой словарь / Tühi sõnastik
empty_dict = {} # {}
tühi = {}
# Словарь с значениями / Väärtustega sõnastik
student = {'name': 'Jaan', 'course': 3, 'specialty': 'IT'}
õpilane = {'nimi': 'Jaan', 'kursus': 3, 'eriala': 'infotehnoloogia'}
# С помощью конструктора dict() / dict() konstruktoriga
car = dict(brand='Toyota', model='Corolla', year=2020)
auto = dict(mark='Toyota', mudel='Corolla', aasta=2020)
Работа с данными / Andmete kasutamine
# Получение значения / Väärtuse hankimine
print(student['name']) # Jaan
print(õpilane['nimi']) # Jaan
# Безопасное получение значения / Turvaline väärtuse hankimine
print(car.get('color', 'not specified')) # not specified
print(auto.get('värv', 'pole määratud')) # pole määratud
# Добавление нового ключа / Uue võtme lisamine
student['email'] = 'jaan@school.ee'
õpilane['email'] = 'jaan@kool.ee'
# Изменение значения / Väärtuse muutmine
car['year'] = 2021
auto['aasta'] = 2021
Методы и операции / Meetodid ja operatsioonid
# Отображение ключей и значений / Võtmete ja väärtuste kuvamine
print(student.keys()) # dict_keys(['name', 'course', 'specialty', 'email'])
print(õpilane.keys()) # dict_keys(['nimi', 'kursus', 'eriala', 'email'])
print(car.values()) # dict_values(['Toyota', 'Corolla', 2021])
print(auto.values()) # dict_values(['Toyota', 'Corolla', 2021])
# Удаление элементов / Elementide eemaldamine
del student['course']
del õpilane['kursus']
removed = car.pop('model')
eemaldatud = auto.pop('mudel')
Пример использования словаря / Näide sõnastiku kasutamisest
# Словарь переводов / Tõlkesõnastik
translation = {
'hello': 'tere',
'thank you': 'aitäh',
'goodbye': 'head aega'
}
tõlge = {
'tere': 'hello',
'aitäh': 'thank you',
'head aega': 'goodbye'
}
word = input("Enter word to translate: ")
sõna = input("Sisesta sõna tõlkimiseks: ")
print(f"Translation: {translation.get(word.lower(), 'Unknown word')}")
print(f"Tõlge: {tõlge.get(sõna.lower(), 'Tundmatu sõna')}")
Генерация речи / Kõnetekitamine Pythonis
Вариант 1: pyttsx3 (оффлайн) / Variant 1: pyttsx3 (offline)
import pyttsx3
def speak(text):
engine = pyttsx3.init()
engine.setProperty('rate', 150) # Скорость речи / Kõnetempo
engine.say(text)
engine.runAndWait()
speak("Hello, how are you?")
kõnele("Tere, kuidas läheb?")
Вариант 2: gTTS (онлайн) / Variant 2: gTTS (online)
from gtts import gTTS
import os
def speak_online(text, language='en'):
tts = gTTS(text=text, lang=language)
tts.save("speech.mp3")
os.system("start speech.mp3") # Для Windows / Windowsis avamiseks
def kõnele_online(tekst, keel='et'):
tts = gTTS(text=tekst, lang=keel)
tts.save("kõne.mp3")
os.system("start kõne.mp3")
speak_online("This is English speech", 'en')
kõnele_online("See on eesti keelne kõne", 'et')
Интегрированный пример со словарем / Integreeritud näide sõnastikuga
dictionary = {
'apple': 'яблоко',
'banana': 'банан',
'orange': 'апельсин'
}
sõnastik = {
'apple': 'õun',
'banana': 'banaan',
'orange': 'apelsin'
}
word = input("Enter English word: ")
sõna = input("Sisesta inglise keelne sõna: ")
if word in dictionary:
translation = dictionary[word]
print(f"Translation: {translation}")
speak(f"{word} means {translation} in Russian")
elif sõna in sõnastik:
tõlge = sõnastik[sõna]
print(f"Tõlge: {tõlge}")
kõnele(f"{sõna} tähendab eesti keeles {tõlge}")
else:
print("Word not found in dictionary")
print("Sellist sõna sõnastikus pole")
Заключение / Kokkuvõte
- Словари – мощные структуры данных для быстрого поиска / Sõnastikud on võimsad andmestruktuurid kiireks otsinguks
- gTTS предлагает лучшее качество голоса, но требует интернета / gTTS pakub paremat hääle kvaliteeti, kuid vajab internetti
- pyttsx3 подходит для оффлайн использования / pyttsx3 sobib offline kasutamiseks
- Оба модуля можно использовать со словарями для создания интерактивных приложений / Mõlemat moodulit saab kasutada koos sõnastikega interaktiivsete rakenduste loomiseks
Рекомендации по использованию / Kasutussoovitused:
- Для приложений изучения языков выбирайте gTTS / Keeleõppe rakenduste jaoks vali gTTS
- Для систем, которые должны работать без интернета, используйте pyttsx3 / Süsteemidele, mis peavad töötama ilma internetita, kasuta pyttsx3
- Используйте словари для структурирования данных и быстрого поиска / Kasuta sõnastikke andmete struktureerimiseks ja kiireks otsinguks

