Informática, perguntado por samilleyvnavieira, 10 meses atrás

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

Respondido por GeBEfte
4

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.

Anexos:
Perguntas interessantes