1
resposta

Resolução exercícios

#1. Escreva um código que lê a lista abaixo e faça:
lista = [16, 14, 63, 65, 17, 99, 70, 11, 20, 48, 79, 32, 17, 89, 12, 25, 66]
tam = len(lista)
maior = max(lista)
menor = min(lista)
soma = sum(lista)
print(f'A lista possui {tam} números em que o maior número é {maior} e o menor número é {menor}. A soma dos valores presentes nela é igual a {soma}')
#2. Escreva uma função que gere a tabuada de um número inteiro de 1 a 10, de acordo com a escolha da pessoa usuária. Como exemplo, para o número 7, a tabuada deve ser mostrada no seguinte formato:

tabuada_numero = int(input('Digite um número de 1 a 10 para que seja realizada a geração da tabuada: '))

def gerar_tabuada(x):
    if 1 <= x <= 10:
        for i in range(1, 11):
            resultado = x * i  # Corrigido para multiplicar por 'i'
            print(f'{x} x {i} = {resultado}')
    else:
        print('O número informado não está no intervalo de 1 a 10.')

# Chama a função com o número informado
gerar_tabuada(tabuada_numero)
#3. Crie a função que leia a lista abaixo e retorne uma nova lista com os múltiplos de 3:
lista =   [97, 80, 94, 88, 80, 1, 16, 53, 62, 32, 24, 99]

multi3 = []
def multiplos_de_tres(lst):
    return [x for x in lst if x % 3 ==0]  
multi3 = multiplos_de_tres(lista)
print(multi3)
#4. Crie uma lista dos quadrados dos números da seguinte lista [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. Lembre-se de utilizar as funções lambda e map() para calcular o quadrado de cada elemento da lista.

lista =  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 
quadrados_numeros = list(map(lambda x: x ** 2, lista))

print(quadrados_numeros)
notas = []

for i in range(5):
        nota = float(input(f'Digite a nota {i + 1}: '))  # Pede a nota
        notas.append(nota)

maior_nota = max(notas)
menor_nota = min(notas)
notas.remove(maior_nota)
notas.remove(menor_nota)
media = sum(notas) / len(notas)  # Aqui usamos sum() e len()

print(f'As notas que foram dadas pelos Juizes são {notas}, foi preciso remover a nota {maior_nota} pois ela é a maior nota e a nota {menor_nota}, pois era a menor nota')
print(f'Nota da manobra: {media}')
    

  
#6
notas = []

for i in range(4):
    while True:
        nota = float(input(f'Digite a nota {i + 1} (0 a 10): '))
        if 0 <= nota <= 10:
            notas.append(nota)
            break  
        else:
            print("Nota inválida. Por favor, digite uma nota entre 0 e 10.")

def calcular_notas(lst):
    maior_nota = max(lst)
    menor_nota = min(lst)
    media = sum(lst) / len(lst)
    return maior_nota, menor_nota, media

maior, menor, media = calcular_notas(notas)


if media >= 6:
    situacao = 'Aprovado'
else:
    situacao = 'Reprovado'

print(f"O(a) estudante obteve uma média de {media:.2f}, com a sua maior nota de {maior} pontos e a menor nota de {menor} pontos, e foi {situacao}.")
#7

nomes = ["joão", "MaRia", "JOSÉ"]
sobrenomes = ["SILVA", "souza", "Tavares"]

nome_completo = map(lambda nome, sobrenomes: f'{nome.title()} {sobrenomes.title()}',nomes, sobrenomes)

for n in nome_completo:
      print(f'Nome completo: {n}')
#8
gols_marcados = [2, 1, 3, 1, 0]
gols_sofridos = [1, 2, 2, 1, 3]

def calcula_pontos(gols_marcados, gols_sofridos):
  pontos = 0
  for i in range(len(gols_marcados)):
    if gols_marcados[i] > gols_sofridos[i]:
      pontos += 3
    elif gols_marcados[i] == gols_sofridos[i]:
      pontos += 1
  aprov = 100 * pontos / (len(gols_marcados) * 3)
  return (pontos, aprov)

pontos, aprov = calcula_pontos(gols_marcados, gols_sofridos)
print(f"A pontuação do time foi de {pontos} e seu aproveitamento foi de {round(aprov)}%")
dias = int(input("Quantas diárias? "))
cidade = input("Qual a cidade? [Salvador, Fortaleza, Natal ou Aracaju]: ")
distancias = [850, 800, 300, 550]
passeio = [200, 400, 250, 300]
km_l = 14
gasolina = 5

def gasto_hotel(dias):
    return 150 * dias

def gasto_gasolina(cidade):
    if cidade == "Salvador":
        return (2 * distancias[0] * gasolina) / km_l 
    elif cidade == "Fortaleza":
        return (2 * distancias[1] * gasolina) / km_l 
    elif cidade == "Natal":
        return (2 * distancias[2] * gasolina) / km_l 
    elif cidade == "Aracaju":
        return (2 * distancias[3] * gasolina) / km_l 

def gasto_passeio(cidade, dias):
    if cidade=="Salvador":
        return passeio[0] * dias
    elif cidade=="Fortaleza":
        return passeio[1] * dias
    elif cidade=="Natal":
        return passeio[2] * dias 
    elif cidade=="Aracaju":
        return passeio[3] * dias 

gastos = gasto_hotel(dias) + gasto_gasolina(cidade) + gasto_passeio(cidade, dias)
print(f"Com base nos gastos definidos, uma viagem de {dias} dias para {cidade} saindo de Recife custaria {round(gastos, 2)} reais")
1 resposta

Olá Igor, tudo bem com você?

Obrigado por compartilhar seu código com a comunidade Alura.

Gostei de como você estruturou as funções para resolver os exercícios, principalmente o uso do lambda e map na criação da lista de quadrados. Sua lógica está bem clara e organizada.

Essa dedicação em colocar em prática o que você está aprendendo é muito importante para o seu desenvolvimento profissional, já que a prática constante é o que transforma o aprendizado em habilidade e confiança.

Conte com o apoio do Fórum na sua jornada. Fico à disposição.

Abraços e bons estudos!