>>> import itertools Tests exercici 1 ---------------- Els exemples que compten per la nota són només els que van seguits de ``# doctesttag: +TAG=1_mact`` >>> from mmact import max_min_actuals >>> it = iter([22, 34, 55, 67, 90, 10, 10, -45, -60, -18, -90, 88, 55, 32, 44, 11, 39, 89, 50, 22]) >>> for elem in max_min_actuals(it): # doctesttag: +TAG=1_mact ... print(elem, end=',') (22, 22),(22, 34),(22, 55),(22, 67),(22, 90),(10, 90),(10, 90),(-45, 90),(-60, 90),(-60, 90),(-90, 90),(-90, 90),(-90, 90),(-90, 90),(-90, 90),(-90, 90),(-90, 90),(-90, 90),(-90, 90),(-90, 90), >>> for t in max_min_actuals(iter([0, 1, -2, 3, -4, 5, -6, -7])): # doctesttag: +TAG=1_mact ... print(t, end=",") (0, 0),(0, 1),(-2, 1),(-2, 3),(-4, 3),(-4, 5),(-6, 5),(-7, 5), >>> for t in max_min_actuals(iter(range(-21, 21, 6))): # doctesttag: +TAG=1_mact ... print(t, end=",") (-21, -21),(-21, -15),(-21, -9),(-21, -3),(-21, 3),(-21, 9),(-21, 15), >>> it = map(lambda x, y: x**y, itertools.cycle([-2, 0, 3]), itertools.count(0)) >>> list(itertools.islice(max_min_actuals(it), 20)) # doctesttag: +TAG=1_mact [(1, 1), (0, 1), (0, 9), (-8, 9), (-8, 9), (-8, 243), (-8, 243), (-8, 243), (-8, 6561), (-512, 6561), (-512, 6561), (-512, 177147), (-512, 177147), (-512, 177147), (-512, 4782969), (-32768, 4782969), (-32768, 4782969), (-32768, 129140163), (-32768, 129140163), (-32768, 129140163)] >>> list(itertools.islice(max_min_actuals(it), 40, 60, 5)) # doctesttag: +TAG=1_mact [(-144115188075855872, 14130386091738734504764811067), (-9223372036854775808, 10301051460877537453973547267843), (-590295810358705651712, 278128389443693511257285776231761), (-37778931862957161709568, 202755595904452569706561330872953769)] Tests exercici 2 ---------------- Els exemples que compten per la nota són només els que van seguits de ``# doctesttag: +TAG=2_multseq`` >>> from multseq import productes_seq >>> it = productes_seq([5, 3, 2], [10, 20, 30]) >>> for r in it: # doctesttag: +TAG=2_multseq ... print(r, end=',') 50,60,60, >>> next(productes_seq(iter([]), iter([])), 'final') # doctesttag: +TAG=2_multseq 'final' >>> it = productes_seq(iter(range(7)), iter(range(12))) >>> for r in it: # doctesttag: +TAG=2_multseq ... print(r, end=',') 0,1,4,9,16,25,36,7,8,9,10,11, >>> it = productes_seq(iter(range(11)), iter(range(3))) >>> for r in it: # doctesttag: +TAG=2_multseq ... print(r, end=',') 0,1,4,3,4,5,6,7,8,9,10, >>> it = productes_seq(iter([2]*10), iter([3]*5)) >>> for r in it: # doctesttag: +TAG=2_multseq ... print(r, end=',') 6,6,6,6,6,2,2,2,2,2, >>> it = productes_seq(iter([2]*4), iter([5]*10)) >>> for r in it: # doctesttag: +TAG=2_multseq ... print(r, end=',') 10,10,10,10,5,5,5,5,5,5, >>> it = productes_seq(range(12345670, 12345680), range(30)) >>> for r in it: # doctesttag: +TAG=2_multseq ... print(r, end=',') 0,12345671,24691344,37037019,49382696,61728375,74074056,86419739,98765424,111111111,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29, >>> it = productes_seq(iter([2]), range(100, 200, 11)) >>> for r in it: # doctesttag: +TAG=2_multseq ... print(r, end=',') 200,111,122,133,144,155,166,177,188,199, >>> it = productes_seq(range(100, 200, 13), iter([7])) >>> for r in it: # doctesttag: +TAG=2_multseq ... print(r, end=',') 700,113,126,139,152,165,178,191, >>> it = productes_seq(range(-10000, 10000, 1), iter([1,2,-1]*5000)) >>> it2 = itertools.islice(it, 1990, 2000) >>> for r in it2: # doctesttag: +TAG=2_multseq ... print(r, end=',') -16020,8009,-8008,-16014,8006,-8005,-16008,8003,-8002,-16002,