El Separador T40625


Statement
 

pdf   zip   main.py

Feu una funció separa(s,lst) que, donada una instància de la classe Llista lst (que conté només nombres enters) i un enter, que farà el paper de separador, s, retorni una nova instància de la classe Llista, amb els mateixos elements que lst (i en el mateix ordre), on s’hagi inserit l’element separador entre cada dos elements consecutius iguals de la llista.

Aquí teniu uns quants exemples d’ús de la funció:

>>> from code import *
>>> 
>>> 
>>> print(separa(9999,Llista().inserir(1).inserir(1)))
1 -- 9999 -- 1
>>> 
>>> 
>>> print(separa(9999,Llista().inserir(1).inserir(1).inserir(1)))
1 -- 9999 -- 1 -- 9999 -- 1
>>> 
>>> 
>>> l = Llista().inserir(1).inserir(1).inserir(1)
>>> l2 = separa(9999,l)
>>> print(l)
1 -- 1 -- 1
>>> print(l2)
1 -- 9999 -- 1 -- 9999 -- 1
>>> 
>>> 
>>> print(separa(9999,Llista().inserir(20).inserir(20).inserir(4).inserir(5)))
20 -- 9999 -- 20 -- 4 -- 5
>>> 
>>> 
>>> print(separa(9999,Llista().inserir(20).inserir(21).inserir(8).inserir(8)))
20 -- 21 -- 8 -- 9999 -- 8
>>> 
>>> 
>>> print(separa(9999,Llista().inserir(2).inserir(3)))
2 -- 3
>>> 
>>> 
>>> l = Llista().inserir(1)
>>> l2 = separa(9999,l)
>>> print(l)
1
>>> print(l2)
1
>>> l2 is not l
True
>>>
>>>
>>> print(separa(9999,Llista().inserir(5).inserir(6).inserir(6).inserir(1).inserir(9).inserir(9).inserir(9).inserir(11)))
5 -- 6 -- 9999 -- 6 -- 1 -- 9 -- 9999 -- 9 -- 9999 -- 9 -- 11
>>>

Entrada

L’entrada és un nombre n i una llista d’n nombres enters. Finalment hi ha un nombre enter que farà el paper de separador.

Vegeu els exemples del joc de proves públic.

Sortida

La sortida serà la (representació textual de la) llista resultat de cridar la funció.

Vegeu els exemples del joc de proves públic.

Observacions

Heu de baixar-vos el fitxer code.py (icona de la serp). Aquest fitxer és un programa amb tot el que cal per executar els jocs de prova públics. Només falta, clar, que afegiu la funció que demana l’enunciat. Aquest fitxer l’heu de completar amb el vostre codi, i això, tot, és el que heu d’enviar al Jutge com a solució.

L’eficiència i la qualitat de la solució es tindran en compte a la correcció manual.

Public test cases
  • Input

    2
    1 1
    1010
    
    

    Output

    1 -- 1010 -- 1
    
  • Input

    3
    1 1 1
    1010
    
    

    Output

    1 -- 1010 -- 1 -- 1010 -- 1
    
  • Input

    4
    20 20 4 5
    1010
    
    

    Output

    20 -- 1010 -- 20 -- 4 -- 5
    
  • Input

    4
    20 21 8 8
    1010
    
    

    Output

    20 -- 21 -- 8 -- 1010 -- 8
    
  • Input

    2
    2 3
    1010
    
    

    Output

    2 -- 3
    
  • Input

    1
    1
    1010
    
    

    Output

    1
    
  • Input

    8
    5 6 6 1 9 9 9 11
    1010
    
    

    Output

    5 -- 6 -- 1010 -- 6 -- 1 -- 9 -- 1010 -- 9 -- 1010 -- 9 -- 11
    
  • Input

    0
    
    1010
    
    

    Output

    
            
                                
  • Information
    Author
    Jordi Delgado
    Language
    Catalan
    Official solutions
    Python
    User solutions
    Python