Napíš programJednoduchá20 XPÚloha 1/15

Prvky, ktoré sú v zozname iba raz

Zadanie

Program vygeneruje zoznam 20 náhodných celých čísel z intervalu 1 až 15 a vypíše prvky, ktoré sa v ňom vyskytujú iba raz.

Rozdeľ ho na funkcie, ktoré testy volajú priamo:

  • vygeneruj() vráti zoznam 20 náhodných celých čísel od 1 do 15,
  • iba_raz(zoznam) vráti nový zoznam prvkov, ktoré sa v zozname vyskytujú práve raz, v poradí, v akom v ňom sú. Pôvodný zoznam nemení.

Čo má program robiť

iba_raz([3, 1, 3, 2]) vráti [1, 2].

Príklady

  • Volanie

    print(iba_raz([3, 1, 3, 2]))

    Očakávaný výstup

    [1, 2]
  • Volanie

    z = vygeneruj()
    print(type(z) == list, len(z) == 20, all(type(x) == int and 1 <= x <= 15 for x in z))
    print(len({tuple(vygeneruj()) for _ in range(20)}) > 1)

    Očakávaný výstup

    True True True
    True

Po odoslaní riešenie overí ešte 5 skrytých testov: všetky prvky rovnaké, nič sa neopakuje, prázdny zoznam, poradie výsledku, pôvodný zoznam ostane.

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.