Este é o arquivo com as respostas dos exercícios propostos.
Primeiro tente resolvê-los e, somente depois, verifique as soluções aqui apresentadas.
Vamos continuar a fazer os exercícios com listas.
A seguir estão alguns problemas para você resolver e testar seus conhecimentos. Tente resolver os exercícios antes de olhar as respostas que estão no arquivo AulaPacaRes08-10.
Vamos lembrar um dos métodos para criar lista. Crie uma lista com os elementos de 1 a 5. A lista final gerada pelo programa será [1,2,3,4,5].
In [ ]:
seq = [] # inicia com uma lista vazia i = 0
while i < 6:
novo_elemento = i
seq.append( novo_elemento ) i = i + 1
print(seq)
Programa 1:
Faça um Programa que peça o nome, a idade e a altura de 5 pessoas, armazene cada informação no seu respectivo vetor. Imprima o nome, a idade e a altura na ordem inversa a ordem lida
In [ ]:
## solução do exercício:
nomes =[]
idades =[]
alturas =[]
for i in range(5):
nome = input("Digite o nome para pessoa : ") nomes.append(nome)
idade = int(input("Digite a idade para pessoa: ")) idades.append(idade)
altura = float(input("Digite a altura para pessoa: ")) alturas.append(altura)
while (i>=0):
print("nome da pessoa ", i+1, " é: ", nomes[i]) print("idade da pessoa ", i+1, " é: ", idades[i]) print("altura da pessoa ", i+1, " é: ", alturas[i]) i = i-1
Programa 2:
Faça um Programa que leia 4 números inteiros e armazene-os num vetor. Em seguida, leia os números deste vetor e armazene os números pares no vetor PAR e os números IMPARES no vetor impar. Imprima os três vetores.
In [ ]:
numero = []
par = []
impar = []
for i in range ( 4 ):
digito = int ( input ( "Digite um número: " ) )
numero.append ( digito ) for i in range (4):
if ( numero[i] % 2 ) == 0:
par.append ( numero[i] ) else:
impar.append ( numero[i] ) print ( numero )
print ( par ) print ( impar )
Programa 3:
Foram anotadas as idades e alturas de 13 alunos. Faça um Programa que determine quantos alunos com mais de 13 anos possuem altura inferior à média de altura desses alunos.
In [ ]:
idades = [32,89,65,34,22,34,76,12,13,29,28,54,24]
alturas = [1.87,1.65,1.23,1.89,1.90,1.32,1.56,1.87,1.04,1.21,1.06,1.76,1.58]
i = 0 soma = 0
while i < len(alturas):
soma += alturas[i]
i += 1
media = soma / len(alturas)
print("A média das alturas é: ", media) c = 0
quantidade = 0
while c < len(idades):
if(idades[c] > 13 and alturas[c] < media):
quantidade += 1 c += 1
print(quantidade)
Agora, resolva o problema 3 usando a função sum() para somar os elementos de uma lista.
Exemplo:
para a lista seq = [1,2,3,4]
sum(seq) retorna 10
In [ ]:
idades = [32,89,65,34,22,34,76,12,13,29,28,54,24]
alturas = [1.87,1.65,1.23,1.89,1.90,1.32,1.56,1.87,1.04,1.21,1.06,1.76,1.58]
i = 0 soma = 0
media = sum(alturas) / len(alturas) print("A média das alturas é: ", media) c = 0
quantidade = 0
while c < len(idades):
if(idades[c] > 13 and alturas[c] < media):
quantidade += 1 c += 1
print(quantidade)
f-Strings
Essa é mais uma forma de apresentar os dados formatados na tela. O parâmetro da função print começa com f", segue com o texto a ser impresso e termina com ".
Dentro do texto, as palavras entre chaves são variáveis do programa e, na saída, será impresso o seu valor.
In [ ]:
nome = "Ana"
idade = 74
print(f"Olá, {nome}. Você tem {idade} anos.") ## f-Strings: usado para formatar stri ng
Programa 4:
Em uma competição de salto em distância cada atleta tem direito a cinco saltos. O resultado do atleta será determinado pela média dos cinco valores restantes. Você deve fazer um programa que receba o nome e as cinco distâncias alcançadas pelo atleta em seus saltos e depois informe o nome, os saltos e a média dos saltos. O programa deve ser encerrado quando não for informado o nome do atleta. A saída do programa deve ser conforme o exemplo abaixo:
Atleta: José Silva Primeiro Salto: 6.5 m Segundo Salto: 6.1 m Terceiro Salto: 6.2 m Quarto Salto: 5.4 m Quinto Salto: 5.3 m
Resultado final: José Silva
Saltos: 6.5 - 6.1 - 6.2 - 5.4 - 5.3 Média dos saltos: 5.9 m
In [ ]:
# Lista com o nome de cada salto
texto_salto = ['Primeiro', 'Segundo', 'Terceiro', 'Quarto', 'Quinto']
# Solicitado o nome do atleta atleta = input("\nAtleta: ") while (atleta != ''):
# Lista com o valor dos saltos
saltos_do_atleta = [0.0, 0.0, 0.0, 0.0, 0.0]
# Outras variáveis media_saltos = 0
# Verificando se o nome do atleta foi digitado for c in range(0, 5):
saltos_do_atleta[c] = float(input(f"{texto_salto[c]} salto: ")) # Ordenando a lista de saltos
saltos_do_atleta.sort() # Média dos saltos
media_saltos = sum(saltos_do_atleta)/5 # Exibindo os resultados
print("="*30)
print("Resultado final: ")
print(f"{atleta}: {saltos_do_atleta}")
print(f"Media dos saltos: {media_saltos:.2f}\n") # Solicitado o nome do atleta
atleta = input("\nAtleta: ")
Programa 5:
Faça um programa que carregue uma lista com os modelos de cinco carros (exemplo de modelos: FUSCA, GOL, VECTRA etc). Carregue uma outra lista com o consumo desses carros, isto é, quantos quilômetros cada um desses carros faz com um litro de combustível. Calcule e mostre:
O modelo do carro mais econômico;
Quantos litros de combustível cada um dos carros cadastrados consome para percorrer uma distância de 1000 quilômetros e quanto isto custará, considerando um que a gasolina custe 2,25 o litro.
Abaixo segue uma tela de exemplo. O disposição das informações deve ser o mais próxima possível ao exemplo. Os dados são fictícios e podem mudar a cada execução do programa.
Comparativo de Consumo de Combustível Veículo 1
Nome: fusca Km por litro: 7 Veículo 2
Nome: gol
Km por litro: 10 Veículo 3
Nome: uno
Km por litro: 12.5 Veículo 4
Nome: Vectra Km por litro: 9 Veículo 5
Nome: Peugeout Km por litro: 14.5 Relatório Final
1 - fusca - 7.0 - 142.9 litros - 321.43 2 - gol - 10.0 - 100.0 litros - 225.00 3 - uno - 12.5 - 80.0 litros - 180.00 4 - vectra - 9.0 - 111.1 litros - 250.00 5 - peugeout - 14.5 - 69.0 litros - 155.17 O menor consumo é do peugeout.
In [ ]:
nome = []
kms = []
km = 0
for c in range(5):
print(f"\nVeiculo {c + 1}") nome.append(input("Nome: "))
km = float(input("KM por litro: ")) kms.append(km)
print("\nRelatorio Final") menor = 0
nme = ' '
for c,d in enumerate(nome):
print(f"{c + 1}\t -\t{d}\t - \t{kms[c]} -\t{1000 / kms[c]:.2f}\t -\t{1000 / kms[c]
* 2.25:.2f}")
if kms[c] > menor:
menor = kms[c]
nme = nome[c]
print(f"\nO menor consumo e do {nme}\n")
Programa 6:
Faça um programa que simule um lançamento de dados. Lance o dado 100 vezes e armazene os resultados em um vetor . Depois, mostre quantas vezes cada valor foi conseguido.
Dica: use um vetor de contadores(1-6) e uma função para gerar numeros aleatórios, simulando os lançamentos dos dados.
A função que gera números inteiros é randint(ini,fim) e gera um dos números do intervalo de ini até fim.
Para usar essa função, é necessário fazer uma importação de biblioteca de Python chamada random. Essa importação é feita assim:
import random
Exemplo de utilização:
random.ranint(1,3)
pode gerar aleatoriamente os números 1, 2 ou 3, a cada vez que é executada.
In [ ]:
import random as rd
resultados = [0,0,0,0,0,0]
for i in range(10):
valor = rd.randint(1,6)
resultados [valor-1] = resultados[valor-1] + 1 print(valor)
print(resultados) for i in range(1,7):
print(f"O valor {i} foi obtido {resultados[i-1]} vezes\n")
Algumas funções em Python:
Existem algumas funções da linguagem que podem nos ajudar a resolver problemas de maneira mais simplificada. Vejamos algumas delas:
sort(): ordena os elementos de uma lista
reverse(): inverte a ordem dos elementos de uma lista
count(valor): retorna quantas vezes "valor" aparece na lista
In [ ]:
# vogais
vogais = ['e', 'a', 'u', 'o', 'i']
# ordenar vogais.sort()
# print vogais
print('Lista ordenada:', vogais)
# inverter
vogais.reverse()
# print vogais
print('Lista ordenada invertida:', vogais)
In [ ]:
texto_salto = ['Primeiro', 'Segundo', 'Terceiro', 'Quarto', 'Quinto']
texto_salto.count('Quinto')
In [ ]: