5.5 Exercícios: Estrutura De Dados
Vamos tentar resolver alguns desafios. Dada a lista = [12, -2, 4, 8, 29, 45, 78, 36, -17, 2, 12, 8, 3, 3,
-52] faça um programa que:
a) imprima o maior elemento
b) imprima o menor elemento
c) imprima os números pares
d) imprima o número de ocorrências do primeiro elemento da lista
e) imprima a média dos elementos
f) imprima a soma dos elementos de valor negativo
-
Primeiramente, vamos gerar um novo arquivo para este código, chamado lista.py . Crie o arquivo no Pycharm dentro do mesmo projeto ‘jogos’ criado no capítulo anterior.
-
Vamos começar gerando um loop para percorrer a lista. Utilizamos um for junto com um range
para percorrer cada índice da nossa lista:
lista = [12, -2, 4, 8, 29, 45, 78, 36, -17, 2, 12, 12, 3, 3, -52]for index in range(0, len(lista)):- Agora, vamos resolver o item a. Defina uma variável fora do seu for chamada maiorValor e a iguale ao primeiro elemento na lista. Dentro do seu for , percorra os elementos dentro de um if para substituir o valor encontrado caso seja maior do que o mesmo:
lista = [12, -2, 4, 8, 29, 45, 78, 36, -17, 2, 12, 12, 3, 3, -52]maiorValor = lista[0]
for index in range(0, len(lista)): #Maior valorif(maiorValor < lista[index]): maiorValor = lista[index]
print(maiorValor)- Para resolver o item b , basta seguir a mesma ideia do exemplo anterior. Crie um outro if abaixo do que você criou no passo anterior, apenas mudando o operador da condição:
menorValor = lista[0]
for index in range(0, len(lista)):#… seu código aqui Menor valor
if(menorValor > lista[index]): menorValor = lista[index]
print(menorValor)- Para resolver o item c , basta definir uma lista, e caso o valor atual da lista com módulo 2 retorne 0, ele é adicionado na mesma:
listaPares = []for index in range(0, len(lista)): #... seu código aquiNumeros pares
if( lista[index] % 2 == 0): listaPares.append(lista[index])
print(listaPares)- Para resolver o item d , é preciso verificar se o item atual da lista a ser percorrida coincide com o elemento em seu primeiro índice:
ocorrenciasItem1 =
for index in range(0, len(lista)): #... seu código aquiNumero de ocorrencias if(lista[index] == lista[0]):
ocorrenciasItem1 = ocorrenciasItem1 + 1 print(ocorrenciasItem1)
- A resolução do item e requer a implementação dentro e fora do for . Dentro do for , some cada
um dos elementos em uma variável única. Após o loop , divida o valor obtido pelo total de elementos na sua lista:
mediaElementos =
for index in range(0, len(lista)): #... seu código aquiMedia de elementos
mediaElementos =+ mediaElementos + lista[index] mediaElementos = mediaElementos / len(lista)
print(mediaElementos)- Por fim, para resolver o item f , faça a soma de todos os números negativos somando todos os valores que são menores que 0:
somaNegativos =
for index in range(0, len(lista)): #... seu código aquiSoma dos números negativos if(lista[index] < 0):
somaNegativos = somaNegativos + lista[index] print(somaNegativos)
- Tente imprimir todas estas condições no seu loop e veja o resultado. O seu resultado deverá estar
similar a:
lista = [12, -2, 4, 8, 29, 45, 78, 36, -17, 2, 12, 12, 3, 3, -52]
#declarando nossas variáveis maiorValor = lista[0] menorValor = lista[0] listaPares = [] ocorrenciasItem1 = 0
mediaElementos = 0
somaNegativos = 0
#iniciando o nosso loop:
for index in range(0, len(lista)):
#Maior valor
if(maiorValor < lista[index]): maiorValor = lista[index]
#Menor valor
if(menorValor > lista[index]): menorValor = lista[index]
#Numeros pares if(lista[index] % 2 == 0):
listaPares.append(lista[index])
#Numero de ocorrências if(lista[index] == lista[0]):
ocorrenciasItem1 = ocorrenciasItem1 + 1
#Soma dos números negativos if(lista[index] < 0):
somaNegativos = somaNegativos + lista[index]
#Media do somatório dos elementos mediaElementos =+ mediaElementos + lista[index]
mediaElementos = mediaElementos / len(lista)
print("Maior valor: " + str(maiorValor)) print("Menor valor: " + str(menorValor)) print("Lista de elementos pares: " + str(listaPares))print("Número de ocorrências do primeiro item: " + str(ocorrenciasItem1)) print("Média dos elementos: " + str(mediaElementos))print("Somatório dos valores negativos:" + str(somaNegativos))CAPÍTULO 6