SHOW:
|
|
- or go back to the newest paste.
| 1 | zero = ["0","zero", "zera", "zerem"] | |
| 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, 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 | dziesiatki=["dzieścia", "dziesiąt", "dzieści"] | |
| 29 | ||
| 30 | byla_dziesiatka = -1 | |
| 31 | ||
| 32 | ||
| 33 | def przetlumacz(slowo): | |
| 34 | global byla_dziesiatka | |
| 35 | for koncowka in dziesiatki: | |
| 36 | if slowo.endswith(koncowka): | |
| 37 | byla_dziesiatka = 1 | |
| 38 | slowo = slowo.replace(koncowka,'') | |
| 39 | ||
| 40 | for baza_symbolu in baza: | |
| 41 | for slowo_bazy_symbolu in baza_symbolu: | |
| 42 | if slowo == slowo_bazy_symbolu: | |
| 43 | if byla_dziesiatka == 0 and not baza_symbolu[0].isdigit(): | |
| 44 | byla_dziesiatka = -1 | |
| 45 | return "0" + baza_symbolu[0] | |
| 46 | else: | |
| 47 | byla_dziesiatka -= 1 | |
| 48 | return baza_symbolu[0] | |
| 49 | return '' #jeśli słowo które próbujemy przetłumaczyć na liczbę lub operator nie występuje w naszych tablicach to je pomijamy | |
| 50 | ||
| 51 | def oblicz(liczba1, liczba2, operacja): | |
| 52 | if operacja == '+': | |
| 53 | return liczba1 + liczba2 | |
| 54 | elif operacja == '-': | |
| 55 | return liczba1 - liczba2 | |
| 56 | elif operacja == '*': | |
| 57 | return liczba1 * liczba2 | |
| 58 | elif operacja == '/': | |
| 59 | return liczba1 / liczba2 | |
| 60 | ||
| 61 | def oblicz_z_tekstu(tekst): | |
| 62 | wynik = 0 | |
| 63 | liczba = '' | |
| 64 | operacja = '' | |
| 65 | for znak in tekst: | |
| 66 | if znak.isdigit(): | |
| 67 | liczba += znak | |
| 68 | elif liczba: | |
| 69 | if operacja == '': | |
| 70 | wynik = int(liczba) | |
| 71 | else: | |
| 72 | wynik = oblicz(wynik, int(liczba), operacja) | |
| 73 | liczba = '' | |
| 74 | operacja = znak | |
| 75 | ||
| 76 | if liczba: | |
| 77 | wynik = oblicz(wynik, int(liczba), operacja) | |
| 78 | return wynik | |
| 79 | ||
| 80 | kontynuowanie = "" | |
| 81 | while kontynuowanie != "n": | |
| 82 | dzialanie = "" | |
| 83 | tekst = input("podaj tekst: ").lower()
| |
| 84 | for slowo in tekst.split(" "):
| |
| 85 | dzialanie += przetlumacz(slowo) | |
| 86 | if byla_dziesiatka == 0: | |
| 87 | dzialanie+="0" | |
| 88 | print(dzialanie) | |
| 89 | print(oblicz_z_tekstu(dzialanie)) | |
| 90 | kontynuowanie = input("Czy chcesz kontynuować działanie programu (t/n)").lower()
| |
| 91 | print("Koniec")
| |
| 92 |