Signed-off-by: Tiago Garcia <tiago.rgarcia@ua.pt>
This commit is contained in:
Tiago Garcia 2024-09-23 11:09:56 +01:00
parent 5dce4e761c
commit 44977b48d6
Signed by: TiagoRG
GPG Key ID: DFCD48E3F420DB42
1 changed files with 62 additions and 34 deletions

View File

@ -1,68 +1,96 @@
# Exercicio 1.1 # Exercicio 1.1
def comprimento(lista): def comprimento(lista):
pass return comprimento(lista[1:]) + 1 if lista else 0
# Exercicio 1.2 # Exercicio 1.2
def soma(lista): def soma(lista):
pass return soma(lista[1:]) + lista[0] if lista else 0
# Exercicio 1.3 # Exercicio 1.3
def existe(lista, elem): def existe(lista, elem):
pass return False if not lista else (
True if lista[0] == elem else existe(lista[1:], elem))
# Exercicio 1.4 # Exercicio 1.4
def concat(l1, l2): def concat(l1, l2):
pass return l1 if not l2 else concat(l1 + [l2[0]], l2[1:])
# Exercicio 1.5 # Exercicio 1.5
def inverte(lista): def inverte(lista):
pass return [lista[-1]] + inverte(lista[:-1]) if lista else []
# Exercicio 1.6 # Exercicio 1.6
def capicua(lista): def capicua(lista):
pass return lista[0] == lista[-1] and capicua(lista[1:-1]) if lista else True
# Exercicio 1.7 # Exercicio 1.7
def concat_listas(lista): def concat_listas(lista):
pass return lista[0] + concat_listas(lista[1:]) if lista else []
# Exercicio 1.8 # Exercicio 1.8
def substitui(lista, original, novo): def substitui(lista, original, novo):
pass if not lista:
return []
if lista[0] == original:
lista[0] = novo
return [lista[0]] + substitui(lista[1:], original, novo)
# Exercicio 1.9 # Exercicio 1.9
def fusao_ordenada(lista1, lista2): def fusao_ordenada(lista1, lista2):
pass if not lista1:
return lista2
if not lista2:
return lista1
if lista1[0] < lista2[0]:
return [lista1[0]] + fusao_ordenada(lista1[1:], lista2)
return [lista2[0]] + fusao_ordenada(lista1, lista2[1:])
# Exercicio 1.10 # Exercicio 1.10
def lista_subconjuntos(lista): def lista_subconjuntos(lista):
pass if not lista:
return [[]]
return lista_subconjuntos(lista[1:]) + [lista[:1] + x for x in lista_subconjuntos(lista[1:])]
# Exercicio 2.1 # Exercicio 2.1
def separar(lista): def separar(lista):
pass pass
# Exercicio 2.2 # Exercicio 2.2
def remove_e_conta(lista, elem): def remove_e_conta(lista, elem):
pass pass
# Exercicio 3.1 # Exercicio 3.1
def cabeca(lista): def cabeca(lista):
pass pass
# Exercicio 3.2 # Exercicio 3.2
def cauda(lista): def cauda(lista):
pass pass
# Exercicio 3.3 # Exercicio 3.3
def juntar(l1, l2): def juntar(l1, l2):
pass pass
# Exercicio 3.4 # Exercicio 3.4
def menor(lista): def menor(lista):
pass pass
# Exercicio 3.6 # Exercicio 3.6
def max_min(lista): def max_min(lista):
pass pass