Solució del lliurament 1 G10 d’Informàtica¶
- Organització:
Secció ETSEIB, Departament de Ciències de la Computació, UPC
- Data:
28 de setembre de 2022
- Copyright:
Reconeixement-CompartirIgual 3.0 No adaptada de Creative Commons
- Durada:
45 minuts
Jocs de proves
Tests Aigua¶
Els exemples que compten per la nota són només els que van seguits de
# doctesttag: +TAG=1_aigua.
>>> from aigua import episodis
>>> it1 = iter([100, 200, 300, 300, 850, 1001, 1056, 1040, 1067, 900, 500, 200, 1000, 1200, 950, 1000, 980, 1050, 1000])
>>> list(episodis(it1)) # doctesttag: +TAG=1_aigua
[4, 2, 1, 2]
>>> it1 = iter([800, 900, 780, 900, 910])
>>> list(episodis(it1)) # doctesttag: +TAG=1_aigua
[]
>>> it1 = iter([1200, 1300, 1302, 1050, 1980, 1981, 1984, 1002, 1067, 1045, 1800])
>>> it2 = episodis(it1)
>>> list(it2) # doctesttag: +TAG=1_aigua
[11]
>>> it1 = iter([1300, 900, 1300, 900])
>>> it2 = episodis(it1)
>>> list(it2) # doctesttag: +TAG=1_aigua
[1, 1]
>>> it1 = iter([1300, 900, 1300, 900, 1300])
>>> it2 = episodis(it1)
>>> list(it2) # doctesttag: +TAG=1_aigua
[1, 1, 1]
>>> it1 = iter([1300, 900, 1300, 900, 1300, 1300])
>>> it2 = episodis(it1)
>>> list(it2) # doctesttag: +TAG=1_aigua
[1, 1, 2]
>>> it1 = iter([800, 1900, 1780, 1900, 1910])
>>> list(episodis(it1)) # doctesttag: +TAG=1_aigua
[4]
>>> list(episodis(iter(range(100)))) # doctesttag: +TAG=1_aigua
[]
>>> list(episodis(iter(range(900, 1005)))) # doctesttag: +TAG=1_aigua
[5]
>>> list(episodis(iter(range(950, 1010)))) # doctesttag: +TAG=1_aigua
[10]
>>> n = 1000
>>> from itertools import chain
>>> list(episodis(chain(range(n, n+5), range(n-5, n), range(n-1, n+1), range(n-2, n+10))))
[5, 1, 10]
Tests infsup¶
Els exemples que compten per la nota són només els que van seguits de
# doctesttag: +TAG=2_infsup.
>>> from infsup import infsup
>>> it1 = iter([200, 300, 300, 150, 510, 900])
>>> it2, it3 = infsup(it1, 150)
>>> list(it2) # doctesttag: +TAG=2_infsup
[]
>>> list(it3) # doctesttag: +TAG=2_infsup
[200, 300, 300, 150, 510, 900]
>>> it1 = iter([200, 300, 300, 100, 510, 900])
>>> it2, it3 = infsup(it1, 1000)
>>> list(it2) # doctesttag: +TAG=2_infsup
[800, 700, 700, 900, 490, 100]
>>> list(it3) # doctesttag: +TAG=2_infsup
[]
>>> it1 = iter([200, 400, 201, 401, 301, 402])
>>> it2, it3 = infsup(it1, 300)
>>> list(it2) # doctesttag: +TAG=2_infsup
[100, 99]
>>> list(it3) # doctesttag: +TAG=2_infsup
[400, 401, 301, 402]
>>> it1 = iter([0, -300, 200, 300, 500, 900])
>>> it2, it3 = infsup(it1, 300)
>>> list(it2) # doctesttag: +TAG=2_infsup
[300, 600, 100]
>>> list(it3) # doctesttag: +TAG=2_infsup
[300, 500, 900]
>>> it2, it3 = infsup(iter([900, 500, 1000, 700, 1200, 1240]), 899)
>>> list(it2) # doctesttag: +TAG=2_infsup
[399, 199]
>>> list(it3) # doctesttag: +TAG=2_infsup
[900, 1000, 1200, 1240]
>>> it1 = iter([200, 300, 300, 850, 1056, 1040, 1067, 900, 500, 200, 1000, 1200, 950, 1000, 980, 1050, 1000])
>>> it2, it3 = infsup(it1, 1000)
>>> list(it2) # doctesttag: +TAG=2_infsup
[800, 700, 700, 150, 100, 500, 800, 50, 20]
>>> list(it3) # doctesttag: +TAG=2_infsup
[1056, 1040, 1067, 1000, 1200, 1000, 1050, 1000]
>>> it1 = iter([200, 300, 300, 850, 1056, 1040, 1067, 900, 500, 200, 1000, 1200, 950, 1000, 980, 1050, 1000])
>>> it2, it3 = infsup(it1, 500)
>>> list(it2) # doctesttag: +TAG=2_infsup
[300, 200, 200, 300]
>>> list(it3) # doctesttag: +TAG=2_infsup
[850, 1056, 1040, 1067, 900, 500, 1000, 1200, 950, 1000, 980, 1050, 1000]
>>> it1 = iter([200, 300, 300, 100, 110, 900, 10])
>>> it2, it3 = infsup(it1, 100)
>>> list(it2) # doctesttag: +TAG=2_infsup
[90]
>>> list(it3) # doctesttag: +TAG=2_infsup
[200, 300, 300, 100, 110, 900]
>>> it1 = iter([200, 300, 300, 100, 110, 900])
>>> it2, it3 = infsup(it1, 800)
>>> list(it2) # doctesttag: +TAG=2_infsup
[600, 500, 500, 700, 690]
>>> list(it3) # doctesttag: +TAG=2_infsup
[900]
>>> it1 = iter([-200, -300, 300, 100, -110, 900])
>>> it2, it3 = infsup(it1, 0)
>>> list(it2) # doctesttag: +TAG=2_infsup
[200, 300, 110]
>>> list(it3) # doctesttag: +TAG=2_infsup
[300, 100, 900]
>>> it1 = iter([-200, -300, 300, 100, -110, 900])
>>> it2, it3 = infsup(it1, -100)
>>> list(it2) # doctesttag: +TAG=2_infsup
[100, 200, 10]
>>> list(it3) # doctesttag: +TAG=2_infsup
[300, 100, 900]