# Tworzenie słownika 
student = {
    'name': 'Jan Kowalski',
    'age': 22,
    'grades':[ 1,2,5,5,6 ],
    'id':57324
}
#  pobieranie elementów słowika - kożystamy z klucza

# print(student["name"])
# print(student.get("name"))

# iterowanie wartości
# for value in student.values():
#     print(value)

# iterowanie kluczy
# for key in student.keys():
#     print(key)

# iterowanie klucz-wartość
# for item in student.items():
#     print(item)

# Dodawanie pary klucz - wartość do słownika
# student.setdefault("czyOplacilSem", False)

# Usunięcie i zwrócenie pary klucz - wartość
# deleted = student.pop("grades")
# print(deleted)
#del student["id"]

# Usunięcie i zwrócenie ostatniej pary klucz - wartość
# deleted = student.popitem()
# print(deleted)

# usunięcie wszystkiego ze słownika
# student.clear()

# wyświetlanie v.2
# import pprint
# pprint.pprint(student)

# print(json.dumps(student))

# import json

# with open('spis_gier.json', 'r') as spis_gier:
#     dane=json.load(spis_gier)

# gra = {
#     "tytul" : "Szachy3",
#     "rok_wydania" : "Dawno dawno temu",
#     "wydawca" : "nieznany ale podobno jakiś Gal Anonim",
#     "gatunek" : "strategiczny, taktyczny, PvP"
# }

# dane.get("spis_gier").append(gra)



# with open('spis_gier.json', 'w') as spis_gier:
#     json.dump(dane, spis_gier, ensure_ascii=False, indent=4)

# print("-----------")
# print(dane)

fib_json = {0:0, 1:1}

def fibonacci(n):
    if n in fib_json:
        return fib_json[n]
    else:
        result = fibonacci(n-1) + fibonacci(n-2)
        fib_json[n] = result
        return result
fibonacci(20)
for item in fib_json.items():
    print(item)