Els exemples que compten per la nota són només els que van seguits de ``# doctesttag: +TAG`` >>> import networkx as nx >>> def crea_xarxa_metro(n=10): ... g = nx.Graph() ... linies = [ ... ['AA', 'a1', '12', 'a2', 'a3', '14', 'a4'] , ... ['BB', 'b1', '12', 'b2', '14', 'b3'] , ... ['CC', 'c1', '14', 'c2', '12', 'c3'] , ... ['DD', 'd1', 'a2', '12', 'd2', 'd3', 'd4'] , ... ['L1', '10', '11', '12', '13', '14', '15'] , ... ['L2', '20', '11', '26', '27', '14', '28'] , ... ['L3', '30', '11', '32', '33', '13', '35', '36', '37'] , ... ['L4', '40', '11', '44', '45', '46', '13', '48'] , ... ['L5', '50', '14', '51', '52', '11', '53', '54', '55'] , ... ['XX', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6'] , ... ] ... for lin in linies[:n]: ... nx.add_path(g, lin[1:], linia=lin[0]) ... return g Doctests per a quines_linies ---------------------------- >>> from mes_metro import quines_linies >>> g = crea_xarxa_metro() >>> quines_linies(g, '11', '13') # doctesttag: +TAG=1_quines_linies ['L1', 'L3', 'L4'] >>> quines_linies(g, '10', '14') # doctesttag: +TAG=1_quines_linies ['L1'] >>> quines_linies(g, '20', '40') # doctesttag: +TAG=1_quines_linies [] >>> quines_linies(g, '11', '14') # doctesttag: +TAG=1_quines_linies ['L1', 'L2', 'L5'] >>> quines_linies(g, '12', '14') # doctesttag: +TAG=1_quines_linies ['AA', 'BB', 'CC', 'L1'] >>> quines_linies(g, 'a2', '12') # doctesttag: +TAG=1_quines_linies ['AA', 'DD'] >>> quines_linies(g, '32', '35') # doctesttag: +TAG=1_quines_linies ['L3'] >>> quines_linies(g, '28', '13') # doctesttag: +TAG=1_quines_linies [] >>> quines_linies(g, 'x1', 'x3') # doctesttag: +TAG=1_quines_linies ['XX'] >>> quines_linies(g, '11', '12') # doctesttag: +TAG=1_quines_linies ['L1'] Doctests per a transbordaments ------------------------------ >>> from mes_metro import transbordaments >>> g = crea_xarxa_metro() >>> transbordaments(g, 'L1') # doctesttag: +TAG=1_transbordaments ['AA', 'BB', 'CC', 'DD', 'L2', 'L3', 'L4', 'L5'] >>> transbordaments(g, 'L2') # doctesttag: +TAG=1_transbordaments ['AA', 'BB', 'CC', 'L1', 'L3', 'L4', 'L5'] >>> transbordaments(g, 'L3') # doctesttag: +TAG=1_transbordaments ['L1', 'L2', 'L4', 'L5'] >>> transbordaments(g, 'L4') # doctesttag: +TAG=1_transbordaments ['L1', 'L2', 'L3', 'L5'] >>> transbordaments(g, 'L5') # doctesttag: +TAG=1_transbordaments ['AA', 'BB', 'CC', 'L1', 'L2', 'L3', 'L4'] >>> transbordaments(g, 'AA') # doctesttag: +TAG=1_transbordaments ['BB', 'CC', 'DD', 'L1', 'L2', 'L5'] >>> transbordaments(g, 'XX') # doctesttag: +TAG=1_transbordaments [] >>> g = crea_xarxa_metro(6) >>> transbordaments(g, 'BB') # doctesttag: +TAG=1_transbordaments ['AA', 'CC', 'DD', 'L1', 'L2'] >>> transbordaments(g, 'CC') # doctesttag: +TAG=1_transbordaments ['AA', 'BB', 'DD', 'L1', 'L2'] >>> transbordaments(g, 'DD') # doctesttag: +TAG=1_transbordaments ['AA', 'BB', 'CC', 'L1'] Doctests per a perimetre ------------------------ >>> from punt2D import Punt2D >>> from poligon import Poligon >>> import perimetre >>> import punt2D >>> import poligon >>> import perimetre >>> p1 = Poligon() >>> p1.afegir_vertex(Punt2D(1, 1)) >>> print('{:.2f}'.format(perimetre.calcul_perimetre(p1))) # doctesttag: +TAG=2_perimetre 0.00 >>> p2 = Poligon() >>> p2.afegir_vertex(Punt2D(0, 0)) >>> p2.afegir_vertex(Punt2D(0, 1)) >>> print('{:.2f}'.format(perimetre.calcul_perimetre(p2))) # doctesttag: +TAG=2_perimetre 2.00 >>> p3 = Poligon() >>> p3.afegir_vertex(Punt2D(0, 0)) >>> p3.afegir_vertex(Punt2D(0, 1)) >>> p3.afegir_vertex(Punt2D(0, 2)) >>> print('{:.2f}'.format(perimetre.calcul_perimetre(p3))) # doctesttag: +TAG=2_perimetre 4.00 >>> p4 = Poligon() >>> p4.afegir_vertex(Punt2D(0, 0)) >>> p4.afegir_vertex(Punt2D(0, 2)) >>> p4.afegir_vertex(Punt2D(-1, 2)) >>> p4.afegir_vertex(Punt2D(-1, 0)) >>> print('{:.2f}'.format(perimetre.calcul_perimetre(p4))) # doctesttag: +TAG=2_perimetre 6.00 >>> p5 = Poligon() >>> p5.afegir_vertex(Punt2D(0, 1)) >>> p5.afegir_vertex(Punt2D(4, 3)) >>> perimetre.calcul_perimetre(p5)== 2*Punt2D(0, 1).dist(Punt2D(4, 3)) # doctesttag: +TAG=2_perimetre True >>> p5.afegir_vertex(Punt2D(-4, -7)) >>> p5.afegir_vertex(Punt2D(10, -9)) >>> p5.afegir_vertex(Punt2D(8, -7)) >>> print('{:.2f}'.format(perimetre.calcul_perimetre(p5))) # doctesttag: +TAG=2_perimetre 45.56 >>> p5.afegir_vertex(Punt2D(2, -1)) >>> p5.afegir_vertex(Punt2D(3, 2)) >>> p5.afegir_vertex(Punt2D(-3, 5)) >>> print('{:.2f}'.format(perimetre.calcul_perimetre(p5))) # doctesttag: +TAG=2_perimetre 57.60 >>> p5.afegir_vertex(Punt2D(-6, -7)) >>> p5.afegir_vertex(Punt2D(1, -5)) >>> p5.afegir_vertex(Punt2D(2, 0)) >>> p5.afegir_vertex(Punt2D(0, 0)) >>> print('{:.2f}'.format(perimetre.calcul_perimetre(p5))) # doctesttag: +TAG=2_perimetre 80.35 >>> p5.afegir_vertex(Punt2D(0, -2)) >>> p5.afegir_vertex(Punt2D(2, -2)) >>> p5.afegir_vertex(Punt2D(-8, -9)) >>> per = perimetre.calcul_perimetre(p5) >>> print('{:.2f}'.format(perimetre.calcul_perimetre(p5))) # doctesttag: +TAG=2_perimetre 108.37 Doctests per a electra1 ----------------------- >>> import pandas as pd >>> df = pd.read_csv('consum_elect.csv', dtype = {'Codi_Postal': str}) >>> from electra import electra1 >>> df1 = df[df['Tram_Horari'] == '0-6'] >>> dfe1 = electra1(df1) >>> type (dfe1) >>> len(dfe1) # doctesttag: +TAG=3_electra_1 56 >>> tuple(dfe1.iloc[0]) # doctesttag: +TAG=3_electra_1 ('2022-02-12', '08018', 'Serveis', '0-6', 76090) >>> tuple(dfe1.iloc[len(dfe1)-1]) # doctesttag: +TAG=3_electra_1 ('2022-02-15', '08018', 'Serveis', '0-6', 72314) >>> list(dfe1['Valor'][:5]) # doctesttag: +TAG=3_electra_1 [76090, 75487, 75065, 75011, 74901] >>> list(dfe1['Valor'][-5:]) # doctesttag: +TAG=3_electra_1 [72423, 72411, 72387, 72331, 72314] >>> dfe1['Valor'].iloc[52] # doctesttag: +TAG=3_electra_1 72411 >>> dfe1['Valor'].iloc[49] # doctesttag: +TAG=3_electra_1 72455 >>> dfe1['Valor'].iloc[54] # doctesttag: +TAG=3_electra_1 72331 >>> dfe1['Data'].iloc[12] # doctesttag: +TAG=3_electra_1 '2022-03-12' >>> dfe1['Data'].iloc[14] # doctesttag: +TAG=3_electra_1 '2022-01-28' >>> df2 = df[12000:] >>> dfe2 = electra1(df2) >>> type (dfe2) >>> len(dfe2) # doctesttag: +TAG=3_electra_1 17 >>> tuple(dfe2.iloc[0]) # doctesttag: +TAG=3_electra_1 ('2022-03-08', '08018', 'Serveis', '12-18', 149134) >>> tuple(dfe2.iloc[len(dfe2)-1]) # doctesttag: +TAG=3_electra_1 ('2022-03-30', '08018', 'Serveis', '12-18', 141955) >>> list(dfe2['Valor'][:5]) # doctesttag: +TAG=3_electra_1 [149134, 147902, 147836, 147494, 147115] >>> list(dfe2['Valor'][-5:]) # doctesttag: +TAG=3_electra_1 [143066, 142990, 142720, 142498, 141955] >>> dfe2['Valor'].iloc[5] # doctesttag: +TAG=3_electra_1 146674 >>> dfe2['Data'].iloc[6] # doctesttag: +TAG=3_electra_1 '2022-02-16' >>> dfe2['Data'].iloc[7] # doctesttag: +TAG=3_electra_1 '2022-03-14' >>> dfe2['Valor'].iloc[8] # doctesttag: +TAG=3_electra_1 145782 >>> dfe2['Valor'].iloc[10] # doctesttag: +TAG=3_electra_1 143228 >>> df3 = df[12000:].sort_values('Valor', ascending=False) >>> dfe3 = electra1(df3) >>> type (dfe3) >>> len(dfe3) # doctesttag: +TAG=3_electra_1 17 >>> tuple(dfe3.iloc[0]) # doctesttag: +TAG=3_electra_1 ('2022-03-08', '08018', 'Serveis', '12-18', 149134) >>> tuple(dfe3.iloc[len(dfe3)-1]) # doctesttag: +TAG=3_electra_1 ('2022-03-30', '08018', 'Serveis', '12-18', 141955) >>> list(dfe3['Valor'][:5]) # doctesttag: +TAG=3_electra_1 [149134, 147902, 147836, 147494, 147115] >>> list(dfe3['Valor'][-5:]) # doctesttag: +TAG=3_electra_1 [143066, 142990, 142720, 142498, 141955] >>> dfe3['Valor'].iloc[5] # doctesttag: +TAG=3_electra_1 146674 >>> dfe3['Data'].iloc[6] # doctesttag: +TAG=3_electra_1 '2022-02-16' >>> dfe3['Data'].iloc[7] # doctesttag: +TAG=3_electra_1 '2022-03-14' >>> dfe3['Valor'].iloc[8] # doctesttag: +TAG=3_electra_1 145782 >>> dfe3['Valor'].iloc[10] # doctesttag: +TAG=3_electra_1 143228 >>> dfe3['Data'].iloc[11] # doctesttag: +TAG=3_electra_1 '2022-02-24' Doctests per electra2 --------------------- >>> df = pd.read_csv('consum_elect.csv', dtype = {'Codi_Postal': str}) >>> from electra import electra2 >>> df1 = df[:5000] >>> electra2(df1, 'Residencial') # doctesttag: +TAG=3_electra_2 ('18-24', 21345697) >>> electra2(df1, 'Indústria') # doctesttag: +TAG=3_electra_2 ('12-18', 2393943) >>> electra2(df1, 'Serveis') # doctesttag: +TAG=3_electra_2 ('12-18', 26212986) >>> electra2(df1, 'No especificat') # doctesttag: +TAG=3_electra_2 ('12-18', 44766) >>> df2 = df[9000:14000] >>> electra2(df2, 'Residencial') # doctesttag: +TAG=3_electra_2 ('18-24', 19125840) >>> electra2(df2, 'Indústria') # doctesttag: +TAG=3_electra_2 ('12-18', 2461680) >>> electra2(df2, 'Serveis') # doctesttag: +TAG=3_electra_2 ('12-18', 26468171) >>> electra2(df2, 'No especificat') # doctesttag: +TAG=3_electra_2 ('12-18', 45551) >>> df3 = df[15000:20000] >>> electra2(df3, 'Residencial') # doctesttag: +TAG=3_electra_2 ('18-24', 18313421) >>> electra2(df3, 'Indústria') # doctesttag: +TAG=3_electra_2 ('12-18', 2498926) >>> electra2(df3, 'Serveis') # doctesttag: +TAG=3_electra_2 ('12-18', 26655955) >>> electra2(df3, 'No especificat') # doctesttag: +TAG=3_electra_2 ('12-18', 48093) >>> df4 = df[20000:] >>> electra2(df4, 'Residencial') # doctesttag: +TAG=3_electra_2 ('18-24', 13615950) >>> electra2(df4, 'Indústria') # doctesttag: +TAG=3_electra_2 ('12-18', 1865758) >>> electra2(df4, 'Serveis') # doctesttag: +TAG=3_electra_2 ('12-18', 20504168) >>> electra2(df4, 'No especificat') # doctesttag: +TAG=3_electra_2 ('12-18', 41794)