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 |