Solució del lliurament 1 G10 d’Ampliació d’Informàtica

Organització:

Secció ETSEIB, Departament de Ciències de la Computació, UPC

Data:

11 d’octubre de 2023

Durada:

30 minuts

Copyright:

Reconeixement-CompartirIgual 3.0 No adaptada de Creative Commons

Jocs de proves

Tests per mes_llarga_tram

Els exemples que compten per la nota són només els que van seguits de # doctesttag: +TAG=1_mes_llarga_tram

>>> from mestrams import mes_llarga_tram
>>> it = iter('ocell pardal flor amic llum i arbre paravent adeu darrer'.split())
>>> it2 = mes_llarga_tram(it, 7)
>>> next(it2)   # doctesttag: +TAG=1_mes_llarga_tram
'pardal'
>>> next(it2)  # doctesttag: +TAG=1_mes_llarga_tram
'paravent'
>>> next(it2, 'iterador exhaurit')  # doctesttag: +TAG=1_mes_llarga_tram
'iterador exhaurit'
>>> it = iter('ocell pardal flor amic llum i arbre paravent adeu darrer'.split())
>>> it2 = mes_llarga_tram(it, 12)
>>> next(it2)   # doctesttag: +TAG=1_mes_llarga_tram
'paravent'
>>> next(it2, 'iterador exhaurit')   # doctesttag: +TAG=1_mes_llarga_tram
'iterador exhaurit'
>>> it = iter('ocell pardal flor amic llum i arbre paravent adeu darrer'.split())
>>> it2 = mes_llarga_tram(it, 5)
>>> list(it2)       # doctesttag: +TAG=1_mes_llarga_tram
['pardal', 'paravent']
>>> it = iter('ocell pardal flor amic llum i arbre paravent adeu darrer'.split())
>>> it2 = mes_llarga_tram(it, 15)
>>> list(it2)    # doctesttag: +TAG=1_mes_llarga_tram
['paravent']
>>> it = iter('ocell pardal flor amic llum i arbre paravent adeu darrer'.split())
>>> it2 = mes_llarga_tram(it, 1)
>>> list(it2) == 'ocell pardal flor amic llum i arbre paravent adeu darrer'.split()  # doctesttag: +TAG=1_mes_llarga_tram
True
>>> it = iter('hola personificacio gosol MOL foll pol pillastre col i potatoes'.split())
>>> it2 = mes_llarga_tram(it,  5)
>>> next(it2)      # doctesttag: +TAG=1_mes_llarga_tram
'personificacio'
>>> next(it2)     # doctesttag: +TAG=1_mes_llarga_tram
'pillastre'
>>> next(it2, 'stop')   # doctesttag: +TAG=1_mes_llarga_tram
'stop'
>>> it = iter('hola personificacio gosol MOL foll pol pillastre col i caramels'.split())
>>> it2 = mes_llarga_tram(it, 2)
>>> list(it2)    # doctesttag: +TAG=1_mes_llarga_tram
['personificacio', 'gosol', 'foll', 'pillastre', 'caramels']
>>> it = iter('hola personificacio gosol MOL foll pol pillastre col i bananes'.split())
>>> it2 = mes_llarga_tram(it,  100)
>>> list(it2)   # doctesttag: +TAG=1_mes_llarga_tram
['personificacio']
>>> it = iter('hola personificacio gosol amanida foll pol envidia col i bananes'.split())
>>> it2 = mes_llarga_tram(it,  3)
>>> list(it2)  # doctesttag: +TAG=1_mes_llarga_tram
['personificacio', 'amanida', 'envidia', 'bananes']

Tests per processa_text

>>> from analisi import processa_text
>>> it_text1 = iter('a b clor'.split())
>>> it_text2 = iter('a bb clor'.split())
>>> it = processa_text(it_text1, it_text2)
>>> next(it)                              # doctesttag: +TAG=2_processa_text
1
>>> next(it, 'final')                    # doctesttag: +TAG=2_processa_text
'final'
>>> it_text1 = iter('amor bonic sabata'.split())
>>> it_text2 = iter('a bonic patata'.split())
>>> it = processa_text(it_text1, it_text2)
>>> next(it)                                # doctesttag: +TAG=2_processa_text
3
>>> next(it)                               # doctesttag: +TAG=2_processa_text
0
>>> next(it, 'final')                     # doctesttag: +TAG=2_processa_text
'final'
>>> it_text1 = iter('ministre handicap glòria maquinària artilleria sindicat metralla negocaciació criminal'.split())
>>> it_text2 = iter('sinistre handicap amor manual artilleria sindicat ametralladora negociació criminal'.split())
>>> it = processa_text(it_text1, it_text2)
>>> next(it)                                            # doctesttag: +TAG=2_processa_text
0
>>> next(it)                                            # doctesttag: +TAG=2_processa_text
2
>>> list(it)                                           # doctesttag: +TAG=2_processa_text
[4, 5, 2]
>>> it_text1 = iter('ministre handicap glòria maquinària artilleria sindicat metralla negociació criminal'.split())
>>> it_text2 = iter('primer sinistre handicap  manual artilleria sindicat ametralladora'.split())
>>> it = processa_text(it_text1, it_text2)
>>> next(it)                                            # doctesttag: +TAG=2_processa_text
2
>>> next(it)                                            # doctesttag: +TAG=2_processa_text
0
>>> list(it)                                            # doctesttag: +TAG=2_processa_text
[2, 4, 5]
>>> it_text1 = iter('ministre handicap glòria maquinària artilleria sindicat metralla negociació criminal'.split())
>>> it_text2 = iter(['primer'])
>>> it = processa_text(it_text1, it_text2)
>>> next(it)                                            # doctesttag: +TAG=2_processa_text
2
>>> next(it,  'iterador exhaurit')                      # doctesttag: +TAG=2_processa_text
'iterador exhaurit'
>>> it_text1 = iter('ministre handicap glòria maquinària artilleria sindicat metralla negociació criminal'.split())
>>> it_text2 = iter(['ministre'])
>>> it = processa_text(it_text1, it_text2)
>>> list(it)                                            # doctesttag: +TAG=2_processa_text
[]
>>> it_text1 = iter('ministre handicap glòria maquinària artilleria sindicat metralla negociació criminal'.split())
>>> it_text2 = iter(['sinistre'])
>>> it = processa_text(it_text1, it_text2)                 # doctesttag: +TAG=2_processa_text
>>> next(it)                                            # doctesttag: +TAG=2_processa_text
0
>>> next(it,  'iterador exhaurit')                      # doctesttag: +TAG=2_processa_text
'iterador exhaurit'
>>> it_text1 = iter('ministre handicap glòria maquinària artilleria sindicat metralla negociació criminal'.split())
>>> it_text2 = iter('sinistre handicap pol maquina art cat met negociació'.split())
>>> it = processa_text(it_text1, it_text2)     # doctesttag: +TAG=2_processa_text
>>> list(it)
[0, 3, 3, 7, 5, 5]