# ---
# jupyter:
#   jupytext:
#     text_representation:
#       extension: .py
#       format_name: light
#       format_version: '1.5'
#       jupytext_version: 1.14.4
#   kernelspec:
#     display_name: Python 3
#     language: python
#     name: python3
# ---

# ## Laborategi azterketa
#
# https://bit.ly/321BpV4 helbidean dagoen eta utf8 kodifikazioa duen bizkaia_utf8.txt testu fitxategian Bizkaiako herriek azken 7 egunetan izandako Covid positiboak ageri dira. Testu fitxategiko ilara bakoitzean herri bateko datuak hutsunez bananduak agertzen dira ondoren adierazten den moduan (herriaren izena hitz bakarrez adierazia egongo da beti):
#
# ```
# Abadiño 8 1 3 6 12 2 12
# Abanto 5 13 18 5 8 10 5
# Ajangiz 0 0 0 0 0 0 0
# Alonsotegi 5 4 2 5 1 3 3
# ...
# ```
#
# Sortu ezazu funtzio bat, halako fitxategi baten bideizena eta bere kodifikazioa argumentu moduan jaso eta zerrenda berri bat bueltatuko duena. Zerrendako elementuak herri bakoitzeko izena eta azken 7 egunetako positibo totalaz osotutako bikoteak (tuplak) izango dira. Aurreko kasuan, adibidez, emaitza halako zerbait litzateke:
#
# `[('Abadiño', 44), ('Abanto', 64), ('Ajangiz', 0), ('Alonsotegi', 23), ...]`
#

def f1(bideizena,kodif="utf8"):
    f = open(bideizena,encoding=kodif)
    z = []
    for ilara in f :
        x = ilara.split()
        b = 0
        for txt in x[1:]:
            b += int(txt)
        z .append((x[0],b))
    f.close()
    return z


# Sortu ezazu funtzio bat, aurreko funtzioak bueltatzen duen moduko zerrenda bat jaso eta azkeneko 7 egunetan positibo gehien izan dituen herriaren izena bueltatuko duena. Aurreko ariketako testu fitxategiarekin lortutako zerrenda prozesatzean, adibidez, emaitza 'Bilbo' litzateke.

# +
def f2(z):
    kasuak_max = -1
    for herria,kasuak in z:
        if kasuak > kasuak_max :
            herria_max = herria
            kasuak_max = kasuak
    return herria_max
    
f2(f1('bizkaia_utf8.txt'))
# -

# ### testutik zerrendetara

txt = input('Idatzi hutsunez banandutako zenbaki zerrenda bat:')
print(txt)
z = []
for x in txt.split():
    z.append(int(x))
print(z)


# Sortu funtzio bat, teklatutik hutsunez banandutako zenbaki zerrenda bat irakurri eta balio maximoa pantailatik erakutsiko duena.

def f():
    txt = input('Idatzi hutsunez banandutako zenbaki zerrenda bat:')
    z = txt.split()
    maximoa = float(z[0])
    for x in z[1:]:
        d = float(x)
        if d > maximoa:
            maximoa = d
    print(maximoa)


# ## `dict.fromkeys()`

dict.fromkeys("aeiou")

dict.fromkeys("aeiou",0)

dict.fromkeys("aeiou","XX")

dict.fromkeys(range(10),"")

# `fromkeys` exekutatzeko `dict`edo edozein hiztegi erabil daiteke (berdin dio):

h1 = {1:"bat" , 2:"bi"}
dict.fromkeys(range(10),"")

h1 = {1:"bat" , 2:"bi"}
h1.fromkeys(range(10),"")

# ## Tuplak
#
# * Aldaezinak: barneko elementuak ZEIN diren ezin da aldatu
# * Balio aldakorra: arneko elementuen balioa aldakorra izan daiteke

# +
t = (1,"kjhf",[1,2,3])

#Ezin dut egin:
#t[1] = "agur"
#t[2] = "agur"

# egin dezaket:
t[2].append("agur")
t[2].remove(2)
print(t)

StarcoderdataJupyterScriptsDedupFiltered