Solució de l’examen de reavaluació d’Ampliació d’Informàtica¶
- Organització:
Secció ETSEIB, Departament de Ciències de la Computació, UPC
- Data:
1 de juliol de 2024
- Durada:
2 hores i 30 minuts
- Copyright:
Reconeixement-CompartirIgual 4.0 No adaptada de Creative Commons
Jocs de proves¶
Aquests jocs de proves necessiten el fitxer cincinnati.csv.
Fitxer de tests de correccio de l’Examen de Reava 2324 Q2
Els exemples que compten per la nota són només els que van seguits de
# doctesttag: +TAG=…1_PartidaPenjat
>>> from penjat import PartidaPenjat>>> x = PartidaPenjat('PATATA') >>> x.secreta, x.fallades, x.lletres # doctesttag: +TAG=1_PartidaPenjat ('PATATA', 0, set()) >>> len(x) # doctesttag: +TAG=1_PartidaPenjat 6 >>> for i in range(len(x)): # doctesttag: +TAG=1_PartidaPenjat ... print(x[i], end=';') -;-;-;-;-;-; >>> x.jugada('A') >>> x.secreta, x.fallades, x.lletres # doctesttag: +TAG=1_PartidaPenjat ('PATATA', 0, {'A'}) >>> for i in range(len(x)): # doctesttag: +TAG=1_PartidaPenjat ... print(x[i], end=';') -;A;-;A;-;A; >>> str(x) # doctesttag: +TAG=1_PartidaPenjat '-A-A-A' >>> x.jugada('Ç') >>> x.jugada('T') >>> x.fallades, x.lletres == {'A', 'Ç', 'T'} # doctesttag: +TAG=1_PartidaPenjat (1, True) >>> print(x) # doctesttag: +TAG=1_PartidaPenjat -ATATA >>> x.estat() # doctesttag: +TAG=1_PartidaPenjat 'JUGANT' >>> x.jugada('B') >>> x.jugada('T') >>> x.jugada('P') >>> x.fallades, x.lletres == {'Ç', 'T', 'A', 'B', 'P'} # doctesttag: +TAG=1_PartidaPenjat (2, True) >>> print(x) # doctesttag: +TAG=1_PartidaPenjat PATATA >>> x.estat() # doctesttag: +TAG=1_PartidaPenjat 'GUANYA'>>> p = PartidaPenjat('AJUNTAMENT') >>> p.secreta, p.fallades, p.lletres # doctesttag: +TAG=1_PartidaPenjat ('AJUNTAMENT', 0, set()) >>> len(p) # doctesttag: +TAG=1_PartidaPenjat 10 >>> for i in range(len(p)): # doctesttag: +TAG=1_PartidaPenjat ... print(p[i], end='') ---------- >>> p.jugada('A') >>> p.secreta, p.fallades, p.lletres # doctesttag: +TAG=1_PartidaPenjat ('AJUNTAMENT', 0, {'A'}) >>> for i in range(len(p)): # doctesttag: +TAG=1_PartidaPenjat ... print(p[i], end='') A----A---- >>> p.jugada('I') >>> p.jugada('N') >>> p.fallades, p.lletres == {'A', 'I', 'N'} # doctesttag: +TAG=1_PartidaPenjat (1, True) >>> str(p) # doctesttag: +TAG=1_PartidaPenjat 'A--N-A--N-' >>> p.estat() # doctesttag: +TAG=1_PartidaPenjat 'JUGANT' >>> p.jugada('E') >>> p.jugada('I') >>> p.jugada('O') >>> p.jugada('P') >>> (p.fallades, p.lletres == {'E', 'N', 'A', 'I', 'P', 'O'}) # doctesttag: +TAG=1_PartidaPenjat (3, True) >>> print(p) # doctesttag: +TAG=1_PartidaPenjat A--N-A-EN- >>> p.estat() # doctesttag: +TAG=1_PartidaPenjat 'JUGANT' >>> p.jugada('I') >>> p.jugada('U') >>> p.jugada('M') >>> p.jugada('S') >>> p.jugada('T') >>> p.jugada('E') >>> p.jugada('J') >>> print(p) # doctesttag: +TAG=1_PartidaPenjat AJUNTAMENT >>> p.estat() # doctesttag: +TAG=1_PartidaPenjat 'GUANYA' >>> p.fallades # doctesttag: +TAG=1_PartidaPenjat 4>>> q = PartidaPenjat('A') # doctesttag: +TAG=1_PartidaPenjat >>> q.secreta, q.fallades, q.lletres ('A', 0, set()) >>> for c in q: # doctesttag: +TAG=1_PartidaPenjat ... print(c, end='') - >>> print(q) - >>> q.jugada('E') >>> q.jugada('I') >>> q.jugada('O') >>> q.jugada('U') >>> print(q) # doctesttag: +TAG=1_PartidaPenjat - >>> q.fallades, q.lletres == {'O', 'E', 'U', 'I'} # doctesttag: +TAG=1_PartidaPenjat (4, True) >>> q.estat() # doctesttag: +TAG=1_PartidaPenjat 'JUGANT' >>> q.jugada('A') >>> q.fallades, q.lletres == {'A', 'E', 'I', 'O', 'U'} # doctesttag: +TAG=1_PartidaPenjat (4, True) >>> q.estat() # doctesttag: +TAG=1_PartidaPenjat 'GUANYA' >>> print(q) # doctesttag: +TAG=1_PartidaPenjat A>>> q = PartidaPenjat('XYZ') # doctesttag: +TAG=1_PartidaPenjat >>> q.secreta, q.fallades, q.lletres ('XYZ', 0, set()) >>> q.jugada('A') >>> q.jugada('B') >>> q.jugada('C') >>> q.jugada('D') >>> q.jugada('E') >>> q.jugada('F') >>> q.jugada('G') >>> q.jugada('H') >>> q.jugada('I') >>> q.jugada('J') >>> q.estat() # doctesttag: +TAG=1_PartidaPenjat 'PERD'insereix_zeros
>>> from zeros import insereix_zeros>>> l = [1, 2, -1, -2] >>> it = insereix_zeros(l) >>> list(it) # doctesttag: +TAG=2_insereix_zeros [1, 2, 0, -1, -2]>>> l = [1, -1, -2, 3, 4, -8] >>> it = insereix_zeros(l) >>> list(it) # doctesttag: +TAG=2_insereix_zeros [1, 0, -1, -2, 0, 3, 4, 0, -8]>>> l = [1, -1, -2, 3, 4, -8] >>> it = insereix_zeros(iter(l)) >>> list(it) # doctesttag: +TAG=2_insereix_zeros [1, 0, -1, -2, 0, 3, 4, 0, -8]>>> l = [1, 2, 3, 4] >>> it = insereix_zeros(l) >>> list(it) # doctesttag: +TAG=2_insereix_zeros [1, 2, 3, 4]>>> l = [1, -1] >>> it = insereix_zeros(l) >>> list(it) # doctesttag: +TAG=2_insereix_zeros [1, 0, -1]>>> l = [1] >>> it = insereix_zeros(l) >>> list(it) # doctesttag: +TAG=2_insereix_zeros [1]enregistra
>>> import networkx as nx >>> from xat_moodle import enregistra >>> g = nx.Graph() >>> g.add_nodes_from(['a', 'b', 'c']) >>> g.add_weighted_edges_from([('a', 'b', 3), ('a', 'c', 5),], weight='minuts')>>> enregistra(g, 'b', 'c', 10) >>> g.edges(data='minuts') # doctesttag: +TAG=3_enregistra EdgeDataView([('a', 'b', 3), ('a', 'c', 5), ('b', 'c', 10)])>>> enregistra(g, 'a', 'b', 10) >>> g.edges(data='minuts') # doctesttag: +TAG=3_enregistra EdgeDataView([('a', 'b', 13), ('a', 'c', 5), ('b', 'c', 10)])>>> enregistra(g, 'c', 'a', 10) >>> g.edges(data='minuts') # doctesttag: +TAG=3_enregistra EdgeDataView([('a', 'b', 13), ('a', 'c', 15), ('b', 'c', 10)])>>> enregistra(g, 'a', 'd', 10) >>> g.edges(data='minuts') # doctesttag: +TAG=3_enregistra EdgeDataView([('a', 'b', 13), ('a', 'c', 15), ('a', 'd', 10), ('b', 'c', 10)])intercanvia
>>> from swap import intercanvia>>> intercanvia('barcelona') # doctesttag: +TAG=4_intercanvia 'abcrlenoa' >>> intercanvia('les gates cegues') # doctesttag: +TAG=4_intercanvia 'el saget secugse' >>> intercanvia('ababab') # doctesttag: +TAG=4_intercanvia 'bababa' >>> intercanvia('abba') # doctesttag: +TAG=4_intercanvia 'baab' >>> intercanvia('aba') # doctesttag: +TAG=4_intercanvia 'baa' >>> intercanvia('ab') # doctesttag: +TAG=4_intercanvia 'ba' >>> intercanvia('a') # doctesttag: +TAG=4_intercanvia 'a' >>> intercanvia('') # doctesttag: +TAG=4_intercanvia ''mateixa_edat
>>> import pandas as pd >>> from naufragi import mateixa_edat >>> df = pd.read_csv('cincinnati.csv').set_index('PassengerId')>>> mateixa_edat(df, 'Elias, Mr. Tannous') # doctesttag: +TAG=5_mateixa_edat ['Elias, Mr. Tannous', 'Madill, Miss. Georgette Alexandra', 'McGowan, Miss. Anna "Annie"', 'Najib, Miss. Adele Kiamie "Jane"', 'Yasbeck, Mrs. Antoni (Selini Alexander)']>>> mateixa_edat(df, 'Mallet, Master. Andre') # doctesttag: +TAG=5_mateixa_edat ['Becker, Master. Richard F', 'Dean, Master. Bertram Vere', 'Goodwin, Master. Sidney Leonard', 'Johnson, Miss. Eleanor Ileen', 'Mallet, Master. Andre', 'Nakid, Miss. Maria ("Mary")', 'Panula, Master. Eino Viljami']>>> mateixa_edat(df, 'Laleff, Mr. Kristo') # doctesttag: +TAG=5_mateixa_edat [] >>> mateixa_edat(df, 'van Melkebeke, Mr. Philemon') # doctesttag: +TAG=5_mateixa_edat []