#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
zad. 1
Napisz funkcję, która zwróci sumę elementów w liście.
"""
def suma(lista):
    s = 0
    for item in lista:
        s += item
    return s
print(suma([1, 2, 3]))



"""
zad. 2
Napisz funkcje, która dla przekazanej listy, zwróci listę z niepowtarzającymi
się wartościami.
"""

def unique(lista):
    pojedyncze = []
    for item in lista:
        if item not in pojedyncze:
            pojedyncze.append(item)
    return pojedyncze
print(unique([1, 1, 2, 1, 2, 3]))

"""
zad. 3
Napisz funkcję, która dla przekazanej listy zwróci listę skłdajacą się
z elementów na parzystych indeksach.
"""

def parzyste(lista):
    return lista[::2]
print(parzyste([0, 1, 2, 3, 4, 5]))

"""
zad. 4
Napisz funkcję, która sprawdzi, czy podany napis (String) jest palindromem,
czyli wyrazem, który czytany od końca jest tym samym słowem, np. kajak.
"""

def is_palindrom(text):
    for i in range(len(text)):
        if text[i] != text[-1 - i]:
            return False
    return True
print(is_palindrom("kajak"))
print(is_palindrom("antykajak"))

"""
zad. 5
Napisz generator, który będzie zwracał n kolejnych liczb ciągu fibonacciego,
gdzie n to argument funkcji.
"""

def fib(n):
    last = None
    last_last = None
    for i in range(n):
        if i <= 1:
            last_last = last
            last = 1
            yield 1
        else:
            curr = last_last + last
            last_last = last
            last = curr
            yield curr

for i in fib(10):
    print(i)


"""
zad. 6
Zainstaluj bibliotekę ``weather-api`` (https://pypi.python.org/pypi/weather-api). Korzystając z niej:
 * Wypisz informacje o aktualnej pogodzie.
 * Napisz funkcję, która zamieni stopnie ``F`` na ``C``.
 * Korzystając z prognozy, znajdź dzień, w którym będzie najzimniej. Wypisz nazwę tygodnia (w języku polskim) i temperaturę w C.
"""

"""
zad. 7
Katalog scores zawiera 64 pliki tekstowe, które posiadają informacje o wysokości miary ``BLEU`` na różnych etapach trenowania modelu. Nazwa każdego pliku na postać  ``model.iterXXXXXXX.npz.bleu``, gdzie ``XXXXXXX``, to liczba iteracji.Zaw>
 * Wykorzystaj bibliotekę ``glob`` (https://docs.python.org/2/library/glob.html)
 * Wyświetl tylko pełną nazwe pliku (wraz z ścieżką).
"""
import glob

values = {}
for path in glob.glob("./scores/*"):
    with open(path) as ff:
        value = float(ff.read().strip().split(' ')[2][:-1])
        values[path] = value

print(values)
max_key = None
for k, v in values.items():
    if max_key is None:
        max_key = k
    else:
        if values[max_key] < v:
            max_key = k
print(max_key)