-
Notifications
You must be signed in to change notification settings - Fork 0
/
iloj.py
59 lines (52 loc) · 1.8 KB
/
iloj.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
from enum import Enum
from typing import Literal
import tkinter as tk
#TODO modifi por ke ĝi ankaŭ dividu je specialaj signoj kiel ", . ! ?", ĉar ili
#malfunkciigas la dividadon
def dividado(enigo):
enigo = enigo.split(" ")
return enigo
def kunigado(matrico):
frazo = " "
frazo = frazo.join(matrico)
return frazo
def pronomaListo():
pronomaListo = ['mi', 'vi', 'ci', 'li', 'ŝi', 'ĝi', 'ili', 'ni', 'si', 'oni']
return pronomaListo
class VortoKlaso(Enum):
SUBSTANTIVO = 0
ADJEKTIVO = 1
ADVERBO = 2,
PREPOZICIO = 3,
KONJUNKCIO = 4,
ARTIKOLO = 5,
VERBO = 7, #TODO ALDONI PLIAJN POR VERBAJN KLASOJN, TIAL KOMENCIĜAS JE 7
AKUZATIVO = 8 #Jen ekzemplo de la antaŭa komento
def kontroliVortoKlason(vorto : str ,vortoKlaso:VortoKlaso)-> bool:
eliro = False
if(vortoKlaso == VortoKlaso.SUBSTANTIVO):
if(len(vorto)>2):
if(vorto[-1] == "o" or vorto[-2:]=="oj" or vorto[-2:]=="on" or vorto[-3:]=="ojn"):
eliro = True
else:
if(vorto[-1] == "o" or vorto[-2:]=="oj"):
eliro = True
elif(vortoKlaso == VortoKlaso.ADJEKTIVO):
if(len(vorto)>2):
if(vorto[-1] == "a" or vorto[-2:]=="aj" or vorto[-2:]=="an" or vorto[-3:]=="ajn"):
eliro = True
else:
if(vorto[-1] == "a" or vorto[-2:]=="aj"):
eliro = True
elif((vortoKlaso == VortoKlaso.ADVERBO) and (vorto[-1] == "e" or vorto[-2:]=="en")):
eliro = True
elif((vortoKlaso.ARTIKOLO) and (vorto == "la")):
eliro = True
elif((vortoKlaso ==VortoKlaso.AKUZATIVO) and vorto[-1] == "n"):
eliro = True
return eliro
def kopii(kadro : tk.Text):
tekstoKopii = kadro.get("1.0",'end-1c')
r = tk.Tk()
r.withdraw()
r.clipboard_append(tekstoKopii)