Oi Valentina, tudo bem? 😊
Vejo que você está praticando bastante com funções e manipulação de listas em Python, o que é excelente! Vamos dar uma olhada nos seus exercícios.
No primeiro exercício, sobre o boletim dos estudantes, seu código está quase perfeito! A lógica para calcular a maior nota, menor nota, média e situação está correta. A única coisa que você precisa ajustar é a inicialização da lista notas antes de começar a adicionar as notas a ela.
notas = [] # Inicialize a lista aqui
for i in range(1,5):
nota = float(input(f'Informe a {i}o nota: '))
notas.append(nota)
def boletim(notas):
maior_nota = max(notas)
menor_nota = min(notas)
media = sum(notas)/len(notas)
if media >= 6:
situacao = 'Aprovado(a)'
else:
situacao = 'Reprovado(a)'
return (maior_nota, menor_nota, media, situacao)
maior_nota, menor_nota, media, situacao = boletim(notas)
print(f"O(a) estudante obteve uma media de {media}, com a sua maior nota de {maior_nota} pontos e a menor nota de {menor_nota} pontos e foi {situacao}.")
Para o segundo exercício, a concatenação de nomes e sobrenomes usando map e lambda está muito boa! A utilização de .capitalize() é a forma ideal para garantir que o nome e sobrenome fiquem com a primeira letra maiúscula e o restante minúsculo, como esperado.
nomes = ["joão", "MaRia", "JOSÉ"]
sobrenomes = ["SILVA", "souza", "Tavares"]
nome_completo = list(map(lambda x, y: x.capitalize() + ' ' + y.capitalize(), nomes, sobrenomes))
for nome in nome_completo:
print(f"Nome completo: {nome}")
No terceiro exercício, o cálculo de pontos e aproveitamento do time, sua função calcula_pontos está correta e bem estruturada. A lógica para determinar vitórias, empates e derrotas, e o cálculo do aproveitamento estão precisos.
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
# else: # A linha 'pontos += 0' é opcional, pois não altera o valor
# pontos += 0
aproveitamento = 100 * pontos / (len(gols_marcados) * 3)
return (pontos, aproveitamento)
pontos, aproveitamento = calcula_pontos(gols_marcados, gols_sofridos)
print(f"A pontuação do time foi de {pontos} e seu aproveitamento foi de {aproveitamento:.2f}%") # Adicionado formatação para o aproveitamento
Notei que adicionei uma formatação :.2f ao aproveitamento para exibir o percentual com duas casas decimais, o que pode ser mais agradável visualmente. 👍
Continue praticando e explorando essas funcionalidades, Valentina! Você está no caminho certo. 💪
🎓 Para saber mais: