## Primeri s predavanja

Nič ne bo škodilo, če to narediš znova - s čim manj škiljenja v zapiske. :)

1. Izpiši vse temperature v datoteki temperature.txt.
2. Izpiši vse temperature, vendar pretvorjene v Fahrenheite.
3. Izpiši povprečno temperaturo.
4. Izpiši vse temperature višje od 17 stopinj.
5. Izpiši število dni, ko je temperatura višja od 17 stopinj.
6. Izpiši najnižjo in najvišjo napovedano temperaturo. Poskusi oboje izračunati v okviru ene same zanke.
7. Izpiši zaporedno številko dneva z najnižjo temperaturo.

### Rešitev

Glej zapiske predavanj. :)

## Še malo vremena

### Poprečje kot pri smučarskih skokih

Znaš izračunati poprečno temperaturo tako, kot to delajo pri smučarskih skokih, kjer ne upoštevajo tistega ocenjevalca, ki je dal najmanjšo in ocenjevalca, ki je dal največjo oceno? Če je najmanjšo (ali največjo) oceno dalo več ocenjevalcev, seveda odstranijo le enega. (Nasvet: računaj vsoto, minimum in maksimum. Po zanki odšteješ minimum in maksimum od vsote ter izračunaš povprečje.)

#### Rešitev

    najm = 10000
    najv = -1000
    vsota = 0
    n = 0
    for vrstica in open("temperature.txt"):
        temp = int(vrstica)
        vsota += temp
        if temp < najm:
            najm = temp
        if temp > najv:
            najv = temp
        n += 1

    print((vsota - najv - najm) / (n - 2))

    17.333333333333332

### "Graf"

Nariši (no, izpiši) graf temperatur:

    24 ************************
    18 ******************
    15 ***************
    16 ****************
    18 ******************

#### Rešitev

    for vrstica in open("temperature.txt"):
        temp = int(vrstica)
        print(temp, "*" * temp)

    24 ************************
    18 ******************
    15 ***************
    16 ****************
    18 ******************

Kitajci V datoteki yuan.txt je tečaj evra proti kitajske valute yuan (ki se menda izgovori tako, kot bi Nemci izgovorili üen) v času od 1. aprila 2005 do 9. oktobra 2023, brez sobot in nedelj.

Izpiši najvišjo in najnižjo vrednost - točneje, koliko največ in koliko najmanj yuanov je bil vreden evro. Koliko dni je bil evro vreden več ali enako 10 yuanov? Kolikšen delež dni (v odstotki) je bil evro vreden več ali enako 10 yuanov? Na kateri dan (zaporedna številka dneva) je evro prvič padel pod osem yuanov? (Opazka: na razmerje med yuanom in evrom najbrž vpliva predvsem ravnanje kitajske in ne toliko evropske banke. Ko je vrednost yuana nizka, je to lahko dobro za kitajski izvoz, čeprav stvari seveda niso tako preproste.) Malo težja: kako dolgo je najdaljše zaporedje dni, ko je bil evro vreden manj kot 8 yuanov? Še malo težja: na kateri dan se je začelo to zaporedje? Kolesa Lastnik štirih koles različnih znamk (Cube, Canyon, Stevens, Nakamura) si v datoteko "kolesa.txt" beleži, kolikokrat se pelje s katerim.

Napiši program, ki to prešteje in izpiše. Napiši program, ki izpiše, s katerim kolesom se je peljal največkrat. Problem: iz razlogov, ki jih bomo spoznali zdaj zdaj, je na koncu vrstice, prebrane iz datoteke, še nekaj šare. Namesto niza "Cube" bo Python prebral "Cube\n". Če se želiš tega znebiti, dodaj vrstico vrstica = vrstica.strip() (ob predpostavki, da se prebrana vrstica nahaja v spremenljivki vrstica.)

    najm = 0
    najv = 0
    for vrstica in open("yuan.txt"):
        vrednost = float(vrstica)
        if najv == 0 or vrednost > najv:
            najv = vrednost
        if najm == 0 or vrednost < najm:
            najm = vrednost

    print("Najnižja vrednost", najm)
    print("Najvišja vrednost", najv)

    Najnižja vrednost 6.5552
    Najvišja vrednost 11.169

    nad_10 = 0
    vseh = 0
    for vrstica in open("yuan.txt"):
        if float(vrstica) >= 10:
            nad_10 = nad_10 + 1
        vseh += 1
    print(nad_10)
    print(nad_10 / vseh * 100)

    722
    15.212810788032026

    najdaljsi = 0
    tekoci = 0
    kdaj_najdaljsi = 0
    dan = 0
    for vrstica in open("yuan.txt"):
        dan += 1
        if float(vrstica) < 8:
            tekoci = tekoci + 1
            if tekoci > najdaljsi:
                najdaljsi = tekoci
                kdaj_najdaljsi = dan - najdaljsi
        else:
            tekoci = 1
    print(najdaljsi)
    print(kdaj_najdaljsi, tekoci)

    999
    2414 58

    dni = 0
    for vrstica in open("yuan.txt"):
        dni += 1
        if float(vrstica) < 8:
            break
    print(dni)

    1833