Trucades¶
Es disposa d’un o més fitxers que contenen una seqüència de números de
telèfon corresponent a les trucades d’una determinada oficina. A cada
línia del fitxer conté un sol número de telèfon, corresponent a una
trucada. Com a exemple, pots descarregar el fitxer
trucades.txt que té el següent
contingut:
934780245 012 618776611 972399700 11811 972399700 012 607334455
Dissenya una funció anomenada
trucades1()que donat el nom d’un fitxer (string) del tipus indicat, retorni quantes vegades s’ha trucat al número 012 i quantes al 11811.Desa la funció al fitxer
trucades.py. La funció ha de passar el següent doctest:>>> trucades1('trucades.txt') (2, 1)
Nota
Podeu descarregar el fitxer amb tests
test_trucades_1.txti el fitxer d’exempletrucades.txt.
Dissenya una funció anomenada
trucades2()que donat el nom d’un fitxer (string) del tipus indicat, calculi quantes vegades s’ha trucat al número 012 i quantes al 11811. La funció ha de crear un fitxer de nom «nombres.txt» on hi hagi dues línies. En la primera ha d’haver el número de telèfon 012 i el nombre de vegades que s’hi ha trucat separats per un únic espai. En la segona línia la mateixa informació pel número 11811.Desa la funció al mateix fitxer
trucades.pyde l’apartat anterior. La funció ha de passar el següent doctest:>>> trucades2('trucades.txt') >>> f = open('nombres.txt', 'r') >>> ls = f.read().split() >>> ' '.join(ls) '012 2 11811 1'
Nota
Podeu descarregar el fitxer amb tests
test_trucades_2.txti el fitxer d’exempletrucades.txt.
Dissenya una funció anomenada
trucades3()que donat el nom d’un fitxer (string) amb el format indicat, retorni True si en el fitxer hi apareixen dos números consecutius iguals i False en cas contrari.Desa la funció al mateix fitxer
trucades.pyde l’apartat anterior. La funció ha de passar el següent doctest:>>> trucades3('trucades.txt') False
Nota
Podeu descarregar el fitxer amb tests
test_trucades_3.txti el fitxer d’exempletrucades.txt.
Dissenya una funció anomenada
trucades4()que tingui com a paràmetres el nom d’un fitxer amb el format indicat (string) i un string corresponent a un prefix telefònic (per exemple “972”). La funció ha de retornar el nombre de vegades que s’ha trucat a telèfons que comencen per aquest prefix.Desa la funció al mateix fitxer
trucades.pyde l’apartat anterior. La funció ha de passar el següent doctest:>>> trucades4('trucades.txt', '972') 2 >>> trucades4('trucades.txt', '618776611') 1 >>> trucades4('trucades.txt', '555') 0
Nota
Podeu descarregar el fitxer amb tests
test_trucades_4.txti el fitxer d’exempletrucades.txt.
Dissenya una funció anomenada
trucades5()que tingui com a paràmetres el nom d’un fitxer amb el format indicat, un altre nom de fitxer i un string corresponent a un prefix. La funció ha d’escriure en el segon fitxer únicament els números de telèfon que apareixen al primer fitxer que tinguin aquell prefix. Els números han d’aparèixer en el mateix ordre i cada vegada que s’ha trucat.Desa la funció al mateix fitxer
trucades.pyde l’apartat anterior. La funció ha de passar el següent doctest:>>> trucades5('trucades.txt', 'truca9.txt', '9') >>> f = open('truca9.txt', 'r') >>> ls = f.read().split() >>> ' '.join(ls) '934780245 972399700 972399700' >>> trucades5('trucades.txt', 'truca555.txt', '555') >>> f = open('truca555.txt', 'r') >>> ls = f.read().split() >>> ' '.join(ls) ''
Nota
Podeu descarregar el fitxer amb tests
test_trucades_5.txti el fitxer d’exempletrucades.txt.
Dissenya una funció anomenada
trucades6()que tingui com a paràmetres el nom d’un fitxer amb el format indicat, un altre nom de fitxer i un string corresponent a un prefix. La funció ha d’escriure en el segon fitxer únicament els números de telèfon que apareixen al primer fitxer que tinguin aquell prefix. En el segon fitxer no ha d’haver-hi números repetits i han d’estar ordenats com strings.Desa la funció al mateix fitxer
trucades.pyde l’apartat anterior. La funció ha de passar el següent doctest:>>> trucades6('trucades.txt', 'truca9.txt', '9') >>> f = open('truca9.txt', 'r') >>> ls = f.read().split() >>> ' '.join(ls) '934780245 972399700' >>> trucades6('trucades.txt', 'truca6.txt', '6') >>> f = open('truca6.txt', 'r') >>> ls = f.read().split() >>> ' '.join(ls) '607334455 618776611'
Nota
Podeu descarregar el fitxer amb tests
test_trucades_6.txti el fitxer d’exempletrucades.txt.
Solucions
Disposeu de solucions al fitxer trucades.py