11. Criar um programa na linguagem python que leia um conjunto de informações (nome, sexo, idade, peso e
altura) dos atletas que participaram de uma olimpíada, e informar:
• O atleta do sexo masculino mais alto;
• A atleta do sexo feminino mais pesada;
• A média de idade dos atletas.
Deverão ser lidos dados dos atletas até que seja digitado o nome @ para um atleta.
Soluções para a tarefa
O código abaixo não possui uma validação de dados ou controle de exceções, ou seja, espera-se que o usuário utilize o programa de forma correta.
Após o código mostro alguns dos possíveis "erros" que podem decorrer da utilização "incorreta".
Obs.: Os pontos não fazem parte do código, estão aí para garantir a indentação.
contador=0
soma_idade=0
maior_altura=maior_peso=0
mais_alto=mais_pesada='(Nenhum Atleta deste Sexo Cadastrado)'
while True:
.....nome=str(input('Digite o nome do atleta: ')).strip().capitalize()
.....if nome=='@':
..........break
.....sexo=str(input('Digite o sexo do atleta (M/F): ')).strip().upper()[0]
.....idade=int(input('Digite a idade do atleta: '))
.....altura=float(input('Digite a altura do atleta: '))
.....peso=float(input('Digite o peso do atleta: '))
.....if sexo=='M':
..........if altura>maior_altura:
...............mais_alto=nome
...............maior_altura=altura
.....elif sexo=='F':
..........if peso>maior_peso:
...............mais_pesada=nome
...............maior_peso=peso
.....soma_idade+=idade
.....contador+=1
.....print('\n')
if contador>0:
.....print('\nInformações:')
.....print(f'O atleta do sexo masculino mais alto é {mais_alto} medindo {maior_altura} m')
.....print(f'A atleta mais pesada é {mais_pesada} com {maior_peso}kg')
.....print(f'A media das idades foi de {soma_idade/contador}')
else:
.....print(f'Nenhum atleta foi cadastrado')
Alguns problemas que podem ocorrer:
--> Se o usuário digitar qualquer coisa que não números para as variáveis "idade", "peso" ou "altura", o programa retornará uma exceção ValueError.
--> Se o usuário digitar alguma coisa diferente de M,m,F,f ou palavras começadas com essas letras para a variável "sexo", os atletas não serão cadastrados.
Esses problemas poderiam ser contornados utilizando estruturas de repetição ou estruturas try/except.
Qualquer dúvida, deixe um comentário.