Napíš programJednoduchá20 XPÚloha 3/9

Minimum, počet a pozície

Zadanie

Napíš tri funkcie:

  • nahodny_prvok(dolna, horna) vráti náhodné celé číslo z intervalu ⟨dolna; horna⟩,
  • vytvor_pole(dolna, horna) pomocou funkcie nahodny_prvok vytvorí a vráti zoznam 30 náhodných prvkov z intervalu, ktorý zadáme,
  • analyza(pole) vráti trojicu (tuple) (minimum, pocet, pozicie): najmenší prvok, koľkokrát sa v zozname vyskytuje a zoznam jeho pozícií (indexov od 0).

Hlavný program pod if __name__ == "__main__": načíta hranice, vytvorí pole a vypíše výsledky.

Čo má program robiť

analyza([5, 3, 8, 3, 9]) vráti (3, 2, [1, 3]).

Príklady

  • Volanie

    print(analyza([5, 3, 8, 3, 9]))

    Očakávaný výstup

    (3, 2, [1, 3])
  • Volanie

    p = vytvor_pole(5, 9)
    print(len(p), all(type(x) == int and 5 <= x <= 9 for x in p))
    print(len({tuple(vytvor_pole(1, 100)) for _ in range(10)}) > 1)

    Očakávaný výstup

    30 True
    True

Po odoslaní riešenie overí ešte 5 skrytých testov: jeden prvok, záporné minimum trikrát, minimum na konci, rovnaké hranice, vytvor_pole volá nahodny_prvok.

Python sa spustí pri prvom spustení kódu.

Ctrl+Enter spustí program. Tab odsadí riadok. Esc a potom Tab opustí editor.

Vstup (stdin)

Každý riadok = jedno volanie input().

Výstup

Nápovedy

Najprv to skús sám. Každá nápoveda prezradí o niečo viac - a trochu zníži odmenu.

Bez prihlásenia sú nápovedy zadarmo - ale ani XP sa neudeľujú.

Riešenie

Riešenie sa odomkne po poslednej nápovede.