''' Exercício 1: Lista ordenada
Escreva a função ordenada(lista), que recebe uma lista com números inteiros como parâmetro e devolve o booleano True se a lista estiver ordenada e False se a lista não estiver ordenada.
Exercício 2: Busca sequencial
Implemente a função busca(lista, elemento), que busca um determinado elemento em uma lista e devolve o índice correspondente à posição do elemento encontrado. Utilize o algoritmo de busca sequencial. Nos casos em que o elemento buscado não existir na lista, a função deve devolver o booleano False.
Exemplo:
busca(['a', 'e', 'i'], 'e')
# deve devolver => 1
busca([12, 13, 14], 15)
# deve devolver => False '''
def ordenada(lista):
for i in range(len(lista)-1):
#print(lista[i],lista[i+1])
if lista[i] > lista[i+1]:
return False
return True
l1 = [1,2,3,4,5,6]; l2 = [1,2,5,4,3,2]
print(l1, ordenada(l1), '\n', l2, ordenada(l2))
def busca(lista, elemento):
for i in range(len(lista)):
if elemento == lista[i]:
return i
return False
#print(busca(['a', 'e', 'i'], 'e')) # deve devolver => 1
#print(busca([12, 13, 14], 15)) # deve devolver => False
#-----------------------------
def busca_sequencial(seq, x):
for i in range(len(seq)):
print(i,len(seq))
if seq[i] == x:
print('!',i)
return True # o return para a execução do for e while!
return False
numeros = [55,33,0,900,-432,10,77,123,-432,11]
print(busca_sequencial(numeros, -432))
#------------------
def selecao_direta(lista):
fim = len(lista)
for i in range(fim-1):
pos_menor = i
for j in range(i+1,fim):
if lista[j] < lista[pos_menor]:
pos_menor = j
lista[i],lista[pos_menor] = lista[pos_menor],lista[i]
return lista
numeros = [55,33,0,900,-432,10,77,2,11]
letras = ["c","d","a","t","r","q","w","b","e","f","b"]
print(selecao_direta(numeros))
print(selecao_direta(letras))
Nenhum comentário:
Postar um comentário