#DESAFIO HORA DA PRÁTICA
#APLICANDO A PROJETOS
#Exercio 5
notas_skate = []
for i in range(1,6):
notas_skate.append(float(input(f'Infome a {i}ª nota: ')))
notas_skate.remove(max(notas_skate))
notas_skate.remove(min(notas_skate))
print(f'Nota da manobra: {sum(notas_skate) / len(notas_skate)}')
#Exercio 6
def situacao_aluno(lista_notas):
maior_nota = max(lista_notas)
menor_nota = min(lista_notas)
media = sum(lista_notas) / len(lista_notas)
if media >= 6:
situacao = 'Aprovado(a)'
else:
situacao = 'Reprovado(a)'
return maior_nota, menor_nota, media, situacao
notas = []
for i in range(1,5):
notas.append(float(input(f'Digita a {i}ª nota: ')))
maior_nota, menor_nota, media, situacao = situacao_aluno(notas)
print(f'O(a) estudante obteve uma média de {media}, com a sua maior nota de {maior_nota} pontos e a menor nota de {menor_nota} pontos e foi {situacao}')
#Exercio 7
ajusta_string = lambda x: x.capitalize()
nomes = ["joão", "MaRia", "JOSÉ"]
nomes_tratados = list(map(ajusta_string, nomes))
sobrenomes = ["SILVA", "souza", "Tavares"]
sobrenomes_tratados = list(map(ajusta_string, sobrenomes))
for i in range(0, 3):
print(f'Nome completo: {nomes_tratados[i]} {sobrenomes_tratados[i]}')
#Exercio 8
def calcula_pontos(gols_marcados, gols_sofridos):
jogos = len(gols_marcados)
pontos = []
for i in range(0, jogos):
if gols_marcados[i] > gols_sofridos[i]:
pontos.append(3)
elif gols_marcados[i] == gols_sofridos [i]:
pontos.append(1)
else:
pontos.append(0)
aproveitamento = (sum(pontos) / (len(pontos) * 3)) * 100
return sum(pontos), aproveitamento
gols_marcados = [2, 1, 3, 1, 0]
gols_sofridos = [1, 2, 2, 1, 3]
total_pontos, aproveitamento = calcula_pontos(gols_marcados, gols_sofridos)
print(f'A pontuação do time foi de {total_pontos} e seu aproveitamento foi de {aproveitamento:.2f}%')
#Exercio 9
def calcula_gastos_hotel(dias, diaria):
return dias * diaria
def calcula_gastos_gasolina(consumo, litro, distancia):
return ((distancia / consumo) * litro) * 2
def calcula_gastos_passeio_alimento(dias, passeio_alimento):
return dias * passeio_alimento
diaria_hotel = 150.00
consumo_gasolina = 14.00
litro_gasolina = 5.00
passeio_alimentacao = {'Salvador': 200, 'Fortaleza': 400, 'Natal': 250, 'Aracaju': 300}
distancias_km = {'Salvador': 850, 'Fortaleza': 800, 'Natal': 300, 'Aracaju': 550}
dias_viagem = 0
destino = ''
gasto_hotel = 0
gasto_gasolina = 0
gasto_passeio_alimento = 0
while destino != 'Salvador' and destino != 'Fortaleza' and destino != 'Natal' and destino != 'Aracaju':
destino = input('Para onde gostaria de viajar: Salvador? Fortaleza? Natal? Aracaju? Escolha um destino:').capitalize()
while dias_viagem <= 0:
dias_viagem = int(input('Quantos dias você passar neste local? '))
gasto_hotel = calcula_gastos_hotel(dias_viagem, diaria_hotel)
gasto_gasolina = calcula_gastos_gasolina(consumo_gasolina, litro_gasolina, distancias_km[destino])
gasto_passeio_alimento = calcula_gastos_passeio_alimento(dias_viagem, passeio_alimentacao[destino])
print(f'Com base nos gastos definidos, uma viagem de {dias_viagem} dias para {destino} saindo de Recife custaria {gasto_hotel + gasto_gasolina + gasto_passeio_alimento:.2f} reais')
print(f'Detalhe dos gastos: \nGasolina: {gasto_gasolina:.2f} \nHotel: {gasto_hotel:.2f} \nPasseio e alimentação: {gasto_passeio_alimento:.2f}')
Tive um pouco de dificuldade com este exercício 10, especificamente no uso do filter e da função lambda. Dei uma olhada na solução do professor e vi que o dele ficou muito mais simples.
#Exercio 10
#frase para teste: Aprender Python aqui na Alura é muito bom! Não é verdade? E você, concorda comigo? Claro.
def trata_frase(frase):
frase_tratada = frase.replace(',', ' ').replace('.', ' ').replace('!', ' ').replace('?', ' ')
frase_tratada = frase_tratada.strip()
frase_tratada = frase_tratada.split()
return frase_tratada
frase = input('Digite uma frase para nossa análise: ')
frase_tratada = trata_frase(frase)
lista_palavras = []
verifica_palavras = lambda x: len(x) >= 5
for palavra in frase_tratada:
if verifica_palavras(palavra) == True: lista_palavras.append(palavra)
print(f'Estas sãos as palavras com 5 ou mais caracteres: {lista_palavras}')