Solució del lliurament 1 G20 d’Ampliació d’Informàtica¶
- Organització:
Secció ETSEIB, Departament de Ciències de la Computació, UPC
- Data:
29 de setembre de 2025
- Durada:
30 minuts
- Copyright:
Reconeixement-CompartirIgual 3.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=...
>>> from itertools import *
Tests exercici 1¶
>>> from temperatura import canvi_temp
>>> it= iter([(1, 4), (2, 4), (3, 4), (4, 4), (5, 5), (6, 10), (7, 10)])
>>> itt= canvi_temp(it, 1)
>>> next(itt) # doctesttag: +TAG=1_canvi_temp
6
>>> next(itt) # doctesttag: +TAG=1_canvi_temp
7
>>> next(itt,'final' ) # doctesttag: +TAG=1_canvi_temp
'final'
>>> it1= iter([(1, 4), (2, 4), (3, 5), (4, 5), (5, 8), (6, 9), (7, 8), (8, 10), (9, 10), (10, 11), (11, 12), (12, 15), (13, 16), (14, 16), (15, 18), (16, 20)])
>>> itc= canvi_temp(it1, 2)
>>> next(itc) # doctesttag: +TAG=1_canvi_temp
5
>>> next(itc) # doctesttag: +TAG=1_canvi_temp
6
>>> next(itc) # doctesttag: +TAG=1_canvi_temp
12
>>> for x in itc:
... print(x, end=',') # doctesttag: +TAG=1_canvi_temp
13,16,
>>> it1= iter([(1, 4), (2, 4), (3, 5), (4, 5), (5, 8), (6, 9), (7, 8), (8, 10), (9, 10), (10, 11), (11, 12), (12, 15), (13, 16), (14, 16), (15, 18), (16, 20)])
>>> itc= canvi_temp(it1, 1)
>>> next(itc) # doctesttag: +TAG=1_canvi_temp
5
>>> next(itc) # doctesttag: +TAG=1_canvi_temp
6
>>> next(itc) # doctesttag: +TAG=1_canvi_temp
8
>>> for x in itc:
... print(x, end=',') # doctesttag: +TAG=1_canvi_temp
11,12,13,15,16,
>>> it1= iter([(1, 10), (2, 15), (3, 15), (4, 15), (5, 18), (6, 19), (7, 18), (8, 21), (9, 21), (10, 25), (11, 27), (12, 20)])
>>> itc= canvi_temp(it1, 3)
>>> next(itc) # doctesttag: +TAG=1_canvi_temp
10
>>> next(itc) # doctesttag: +TAG=1_canvi_temp
11
>>> next(itc) # doctesttag: +TAG=1_canvi_temp
12
>>> for x in itc: # doctesttag: +TAG=1_canvi_temp
... print(x, end=',')
Tests exercici 2¶
>>> from maxim_divisor import divmax
>>> it = iter([10, 22, 13])
>>> it2 = divmax(it)
>>> next(it2) # doctesttag: +TAG=2_divmax
5
>>> next(it2) # doctesttag: +TAG=2_divmax
11
>>> next(it2) # doctesttag: +TAG=2_divmax
1
>>> next(it2, 'final') # doctesttag: +TAG=2_divmax
'final'
>>> it = iter([100, 412, 53, 514, 5, 6, 23, 45, 55])
>>> it2 = divmax(it)
>>> next(it2) # doctesttag: +TAG=2_divmax
50
>>> next(it2) # doctesttag: +TAG=2_divmax
206
>>> next(it2) # doctesttag: +TAG=2_divmax
1
>>> for x in it2:
... print(x, end=',') # doctesttag: +TAG=2_divmax
257,1,3,1,15,11,
>>> it = iter(range(19, 999, 4))
>>> it2 = divmax(it)
>>> next(it2) # doctesttag: +TAG=2_divmax
1
>>> next(it2) # doctesttag: +TAG=2_divmax
1
>>> next(it2) # doctesttag: +TAG=2_divmax
9
>>> for x in it2:
... print(x, end=',') # doctesttag: +TAG=2_divmax
1,7,13,1,1,17,11,1,21,1,1,25,1,1,29,13,19,33,1,1,37,23,17,41,1,1,45,1,13,49,1,31,53,1,1,57,35,1,61,17,1,65,1,29,69,1,43,73,1,1,77,47,1,81,19,1,85,37,1,89,1,55,93,1,41,97,59,23,101,1,1,105,29,19,109,1,67,113,49,1,117,71,1,121,1,53,125,1,1,129,23,79,133,31,37,137,83,1,141,61,1,145,1,1,149,41,91,153,1,1,157,95,1,161,1,1,165,1,1,169,73,103,173,1,31,177,107,77,181,1,29,185,43,1,189,1,115,193,53,1,197,119,1,201,1,47,205,1,89,209,1,127,213,1,1,217,131,1,221,29,61,225,97,1,229,1,139,233,37,101,237,143,1,241,1,43,245,1,1,249,1,151,253,109,59,257,155,41,261,1,113,265,47,73,269,1,163,273,1,1,277,167,1,281,121,37,285,1,1,289,67,175,293,1,1,297,179,31,301,1,1,305,1,71,309,133,187,313,41,1,317,191,137,321,1,1,325,89,1,329,1,199,