View difference between Paste ID: eL77qk9w and Tzp3egXk
SHOW: | | - or go back to the newest paste.
1
zero = ["0","zero", "zera", "zerem"]
2-
jednen = ["1","jeden", "jedynka", "jedynkę"]
2+
jeden = ["1","jeden", "jedynka", "jedynkę"]
3
dwa = ["2", "dwa", "dwójkę", "dwójka"]
4
trzy = ["3", "trzy", "trójkę", "trójka"]
5
cztery = ["4", "cztery", "czwórkę", "czwórka"]
6
piec = ["5", "pięć", "piątkę", "piątka"]
7
szesc = ["6", "sześć", "szóstkę", "szóstka"]
8
siedem = ["7", "siedem", "siódemkę", "siódemka"]
9
osiem = ["8", "osiem", "ósemkę", "ósemka"]
10
dziewiec = ["9", "dziewięć", "dziewiątkę", "dziewiątka"]
11
dziesiec = ["10", "dziesięć", "dziesiątka", "dziesiątkę", "dychę"]
12
jedenascie = ["11","jedenaście", "jedenastkę", "jedenastu"]
13
dwanascie = ["12", "dwanaście", "dwunastu", "dwunastkę"]
14
trzynascie = ["13", "trzynaście","trzynastu","trzynastkę"]
15
czternascie = ["14", "czternaście", "czternastu", "czternastkę"]
16
pietnascie = ["15", "piętnaście","piętnastu", "piętnastkę"]
17
szesnascie = ["16", "szesnaście","szesnastu","szesnastkę"]
18
siedemnascie = ["17","siedemnaście", "siedemnastu", "siedemnastkę"]
19
osiemnasice = ["18", "osiemnaście","osiemnastu","osiemnastkę"]
20
dziewietnascie = ["19","dziewiętnaście", "dziewiętnastu","dziewiętnastkę"]
21
plus = ["+", "dodaj", "plus", "dodać"]
22
minus = ["-", "odejmij", "minus", "odjąć"]
23
gwiazdka = ["*", "x", "razy", "mnożone", "pomnożone", "pomnożyć"]
24
ukosnik = ["/", ":", "dzielone", "podziel"]
25-
baza = [zero, jednen,dwa,trzy, cztery, piec, szesc,siedem, osiem, dziewiec,
25+
baza = [zero, jeden,dwa,trzy, cztery, piec, szesc,siedem, osiem, dziewiec,
26
        dziesiec,jedenascie,dwanascie,trzynascie,czternascie,pietnascie,szesnascie,siedemnascie,osiemnasice,dziewietnascie, 
27
        plus, minus, gwiazdka, ukosnik]
28
29
30
def przetlumacz(slowo):
31
    for baza_symbolu in baza: 
32
        for slowo_bazy_symbolu in baza_symbolu: 
33
            if slowo == slowo_bazy_symbolu:
34
                return baza_symbolu[0] #zwracamy pierwszy element listy w której znaleźliśmy pasujące słowo
35
    return '' #jeśli słowo które próbujemy przetłumaczyć na liczbę lub operator nie występuje w naszych tablicach to je pomijamy
36
37
def oblicz(liczba1, liczba2, operacja):
38
    if operacja == '+':
39
        return liczba1 + liczba2
40
    elif operacja == '-':
41
        return liczba1 - liczba2
42
    elif operacja == '*':
43
        return liczba1 * liczba2
44
    elif operacja == '/':
45
        return liczba1 / liczba2
46
47
def oblicz_z_tekstu(tekst):
48
    wynik = 0
49
    liczba = ''
50
    operacja = ''
51
    for znak in tekst:
52
        if znak.isdigit():
53
            liczba += znak
54-
        else:
54+
        elif liczba:
55
            if operacja == '':
56
                wynik = int(liczba)
57
            else:
58
                wynik = oblicz(wynik, int(liczba), operacja)
59
            liczba = ''
60
            operacja = znak
61-
    wynik = oblicz(wynik, int(liczba), operacja)
61+
    if liczba:
62
        wynik = oblicz(wynik, int(liczba), operacja)
63
    return wynik
64
65
66
67
dzialanie = ""
68
tekst = input("podaj tekst: ")
69
for slowo in tekst.split(" "):
70
    dzialanie += przetlumacz(slowo)
71
print(dzialanie)
72
print(oblicz_z_tekstu(dzialanie))
73
74
75