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

Spoločné prvky dvoch zoznamov

Zadanie

Program vygeneruje dva zoznamy po 15 náhodných celých čísel z intervalu ⟨1; 20⟩ a potom tretí zoznam s prvkami, ktoré majú prvé dva spoločné.

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

  • vygeneruj() vráti zoznam 15 náhodných celých čísel od 1 do 20,
  • spolocne(a, b) vráti zoznam hodnôt, ktoré sú v oboch zoznamoch, každú len raz, zoradený vzostupne.

Čo má program robiť

spolocne([1, 2, 3, 4], [3, 4, 5]) vráti [3, 4].

Príklady

  • Volanie

    print(spolocne([1, 2, 3, 4], [3, 4, 5]))

    Očakávaný výstup

    [3, 4]
  • Volanie

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

    Očakávaný výstup

    True True
    True

Po odoslaní riešenie overia ešte 3 skryté testy: opakované hodnoty, nič spoločné, zoradenie výsledku.

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.