##### IB113 skupina 05 #####
##### cvičení 09

### 2D MŘÍŽKA
# ÚKOL 1
# Napiš vlastní funkci na hraní hry TIC TAC TOE.


### DATOVÉ STRUKTURY
# ÚKOL 2
# Napište funkci evaluate_postfix(expresion), která dokáže spočítat příklad zadaný
# v postfixové notaci a vyhodnoťe následující výraz:

"30 9 4 8 * 2 - + 3 4 - + 3 * 5 + 2 2 - 1 6 / + - 6 5 + + -"

Ve výrazu se nachází pouze přirozená čísla a operátory '+', '-', '*' a '/'.


>>> print(evaluate_postfix("8 7 * 6 5 + 2 * +"))
78
>>> print(evaluate_postfix("6 5 -"))
1
>>> print(evaluate_postfix("15 7 1 1 + - / 3 * 2 1 1 + + -"))
5

# ÚKOL 3
# Napište funkci freq_analysis(text), která spočítá výskyt jednotlivých písmen (znaků) ve vstupním textu a následně tento seznam vypíše setříděný sestupně podle počtu výskytů. Funkce bude ukládat text do slovníku.

>>> text = """Monty Python and Monty Python all over here."""
>>> freq_analysis(text)
   has 7 occurrences
n  has 5 occurrences
o  has 5 occurrences
y  has 4 occurrences
t  has 4 occurrences
e  has 3 occurrences
h  has 3 occurrences
r  has 2 occurrences
l  has 2 occurrences
a  has 2 occurrences
P  has 2 occurrences
M  has 2 occurrences
.  has 1 occurrences
v  has 1 occurrences
d  has 1 occurrences


# ÚKOL 4
# Napište funkci parenthesis_check(text), která pro zadaný řetězec složený pouze ze závorek [](){} ověří, že jde o korektní uzávorkování.

>>> print(parenthesis_check('([]({()}))[]{[()]}'))
True
>>> print(parenthesis_check('([)]'))
False

