diff --git a/08-slovniky/kontakty.py b/08-slovniky/kontakty.py
new file mode 100644
index 0000000000000000000000000000000000000000..0fbed1c735d7a35790dd9c6932b07e57b263afe3
--- /dev/null
+++ b/08-slovniky/kontakty.py
@@ -0,0 +1,26 @@
+# Seznam kontaktů
+
+kontakty = [
+    {
+        "jmeno": "Pokusný",
+        "prijmeni": "Králík",
+        "telefony": [ "123456789", "+420999888777" ],
+        "adresa": {
+            "ulice": "Norní",
+            "dum": "42/1b",
+            "mesto": "Králíky",
+            "psc": "987 65",
+        },
+    },
+    {
+        "jmeno": "Kocour",
+        "prijmeni": "Mikeš",
+        "telefony": [],
+        "adresa": {
+            "ulice": "Josefa Lady",
+            "dum": "1",
+            "mesto": "Hrusice",
+            "psc": "251 66",
+        }
+    },
+]
diff --git a/08-slovniky/robutek.py b/08-slovniky/robutek.py
new file mode 100755
index 0000000000000000000000000000000000000000..9b9157c2851b4b7fbaa2d0849c3daabe098c82a1
--- /dev/null
+++ b/08-slovniky/robutek.py
@@ -0,0 +1,34 @@
+#!/usr/bin/env python3
+
+x, y = 0, 0
+dx, dy = 1, 0
+
+def prikaz_krok():
+    global x, y, dx, dy
+    x += dx
+    y += dy
+
+def prikaz_vlevo():
+    global dx, dy
+    dx, dy = -dy, dx
+
+def prikaz_vpravo():
+    global dx, dy
+    dx, dy = dy, -dx
+
+prikazy = {
+    "krok": prikaz_krok,
+    "vlevo": prikaz_vlevo,
+    "vpravo": prikaz_vpravo,
+}
+
+def proved(prikaz):
+    if prikaz in prikazy:
+        prikazy[prikaz]()
+    else:
+        print("Neznámý příkaz!")
+
+while True:
+    print(f"Pozice: ({x},{y}), směr: ({dx},{dy})")
+    prikaz = input("Příkaz: ")
+    proved(prikaz)