Solució del lliurament 1 G20 d’Informàtica

Organització:

Secció ETSEIB, Departament de Ciències de la Computació, UPC

Data:

15 de març de 2023

Durada:

50 minuts

Copyright:

Reconeixement-CompartirIgual 4.0 No adaptada de Creative Commons

Jocs de proves

Els exemples que compten per la nota són només els que van seguits de # doctesttag: +TAG=…

Seqüència de Padovan

>>> from padovan import padovan
>>> it = padovan()
>>> for i in range(2):
...   a = next(it)
>>> next(it)                           # doctesttag: +TAG=1_padovan
(0, 1, 0)
>>> next(it)                           # doctesttag: +TAG=1_padovan
(1, 0, 1)
>>> for i in range(2):
...     print(next(it), end = '-')     # doctesttag: +TAG=1_padovan
(0, 1, 1)-(1, 1, 1)-
>>> for i in range(20):
...    a = next(it)
>>> for i in range(5):
...    print(next(it), end = '-')      # doctesttag: +TAG=1_padovan
(265, 351, 465)-(351, 465, 616)-(465, 616, 816)-(616, 816, 1081)-(816, 1081, 1432)-
>>> for i in range(5):
...    print(next(it), end = '-')      # doctesttag: +TAG=1_padovan
(1081, 1432, 1897)-(1432, 1897, 2513)-(1897, 2513, 3329)-(2513, 3329, 4410)-(3329, 4410, 5842)-

Fum

>>> from fum import fum
>>> lfum = [12, 8, 8, 7, 5, 8, 10, 8, 15, 10, 5, 11, 10, 11, 10, 8, 10, 7,
...         11, 12, 10, 15, 14, 14, 11, 10, 8, 10, 12, 14, 16, 10, 11, 10,
...         7, 10, 10, 11, 4, 5, 8,  6, 9, 9, 9, 11, 12, 10, 7, 14, 11, 10, 8,
...         9, 10, 14, 8, 8, 10, 13, 10, 14, 10, 9, 9, 13, 14, 10, 6, 10, 7, 5,
...         4, 14, 8, 9]
>>> ldset = ['dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'dissabte', 'diumenge']
>>> lfum1 = iter(lfum[:40])
>>> it = fum(lfum1, ldset, 14)
>>> list(it)                         # doctesttag: +TAG=2_fum
['dimarts', 'dilluns', 'dimarts', 'dimecres', 'dimarts', 'dimecres']
>>> lfum1 = iter(lfum[:40])
>>> it = fum(lfum1, ldset, 9)
>>> list(it)                         # doctesttag: +TAG=2_fum
['dilluns', 'diumenge', 'dimarts', 'dimecres', 'divendres', 'dissabte', 'diumenge', 'dilluns', 'dimecres', 'divendres', 'dissabte', 'diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'dissabte', 'dilluns', 'dimarts', 'dimecres']
>>> lfum2 = iter(lfum[40:])
>>> it = fum(lfum2, ldset, 14)
>>> list(it)                         # doctesttag: +TAG=2_fum
['dimecres', 'dimarts', 'dilluns', 'dissabte', 'dissabte']
>>> lfum2 = iter(lfum[40:])
>>> it = fum(lfum2, ldset, 9)
>>> list(it)                         # doctesttag: +TAG=2_fum
['dimecres', 'dijous', 'divendres', 'dissabte', 'diumenge', 'dilluns', 'dimecres', 'dijous', 'divendres', 'diumenge', 'dilluns', 'dimarts', 'divendres', 'dissabte', 'diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'dissabte', 'diumenge', 'dimarts', 'dissabte', 'dilluns']
>>> lfum2 = iter(lfum[40:])
>>> it = fum(lfum2, ldset, 8)
>>> list(it)                         # doctesttag: +TAG=2_fum
['dilluns', 'dimecres', 'dijous', 'divendres', 'dissabte', 'diumenge', 'dilluns', 'dimecres', 'dijous', 'divendres', 'dissabte', 'diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'dissabte', 'diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'dissabte', 'diumenge', 'dimarts', 'dissabte', 'diumenge', 'dilluns']
>>> lfum3 = iter(lfum)
>>> it = fum(lfum3, ldset, 11)
>>> list(it)                         # doctesttag: +TAG=2_fum
['dilluns', 'dimarts', 'divendres', 'diumenge', 'divendres', 'dissabte', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'dilluns', 'dimarts', 'dimecres', 'divendres', 'dimecres', 'dijous', 'divendres', 'dilluns', 'dimarts', 'diumenge', 'dijous', 'dissabte', 'dimecres', 'dijous', 'dijous']

Imatges

>>> from sel_imatges import sel_imatges
>>> from imatges import Imatge
>>> im1 = Imatge(450, 500, 'VERMELL')
>>> im2 = Imatge(520, 480, 'VERMELL')
>>> im3 = Imatge(300, 250, 'VERMELL')
>>> im4 = Imatge(200, 200, 'MAGENTA')
>>> im5 = Imatge(200, 350, 'MAGENTA')
>>> im6 = Imatge(500, 450, 'MAGENTA')
>>> im7 = Imatge(650, 550, 'BLAU')
>>> im8 = Imatge(250, 200, 'BLAU')
>>> im9 = Imatge(550, 600, 'CIAN')
>>> im10 = Imatge(450, 520, 'CIAN')
>>> im11 = Imatge(600, 850, 'GROC')
>>> im12 = Imatge(250, 350, 'GROC')
>>> it1 = iter([im1, im4, im7, im10])
>>> its1 = sel_imatges(it1, 150000)
>>> list(its1)                       # doctesttag: +TAG=3_selimatges
[('MAGENTA', 40000)]
>>> it2 = iter([im1, im4, im7, im10])
>>> its2 = sel_imatges(it2, 250000)
>>> list(its2)                       # doctesttag: +TAG=3_selimatges
[('VERMELL', 225000), ('MAGENTA', 40000), ('CIAN', 234000)]
>>> it3 = iter([im2, im5, im3, im6, im8, im9, im11, im12])
>>> its3 = sel_imatges(it3, 200000)
>>> list(its3)                       # doctesttag: +TAG=3_selimatges
[('MAGENTA', 70000), ('VERMELL', 75000), ('BLAU', 50000), ('GROC', 87500)]
>>> it4 = iter([im2, im5, im3, im6, im8, im9, im11, im12])
>>> its4 = sel_imatges(it4, 800000)
>>> list(its4)                       # doctesttag: +TAG=3_selimatges
[('VERMELL', 249600), ('MAGENTA', 70000), ('VERMELL', 75000), ('MAGENTA', 225000), ('BLAU', 50000), ('CIAN', 330000), ('GROC', 510000), ('GROC', 87500)]
>>> it5 = iter([im2, im5, im3, im6, im1, im10, im8, im9, im11, im12, im4, im7])
>>> its5 = sel_imatges(it5, 180000)
>>> list(its5)                       # doctesttag: +TAG=3_selimatges
[('MAGENTA', 70000), ('VERMELL', 75000), ('BLAU', 50000), ('GROC', 87500), ('MAGENTA', 40000)]
>>> it6 = iter([im4, im5, im3, im8, im10, im12])
>>> its6 = sel_imatges(it6, 45000)
>>> list(its6)                       # doctesttag: +TAG=3_selimatges
[('MAGENTA', 40000)]
>>> it7 = iter([im4, im5, im3, im8, im10, im12])
>>> its7 = sel_imatges(it7, 60000)
>>> list(its7)                       # doctesttag: +TAG=3_selimatges
[('MAGENTA', 40000), ('BLAU', 50000)]
>>> it8 =iter([im4, im5, im3, im8, im10, im12])
>>> its8 = sel_imatges(it8, 90000)
>>> list(its8)                       # doctesttag: +TAG=3_selimatges
[('MAGENTA', 40000), ('MAGENTA', 70000), ('VERMELL', 75000), ('BLAU', 50000), ('GROC', 87500)]