-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy path094.py
64 lines (50 loc) · 1.94 KB
/
094.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
"""
Desafio 094
Problema: Crie um programa que leia nome, sexo e idade de várias pessoas, guardando os dados
de cada pessoa em um dicionário e todos os dicionários em uma lista.
No final, mostre:
A) Quantas pessoas foram cadastradas;
B) A média de idade do grupo;
C) Uma lista com todas as mulheres;
D) Uma lista com todas as pessoas com idade acima da média.
Resolução do problema:
"""
dados = {}
pessoas = []
acumulaIdade = 0
while True:
dados['nome'] = input('NOME: ').strip().capitalize()
dados['sexo'] = input('SEXO [M/F]: ').strip().upper()
# Em caso de alternativa incorreta
while dados['sexo'] not in ('M', 'F'):
print('\nInforme a opção corretamente...')
dados['sexo'] = input('SEXO [M/F]: ').strip().upper()
dados['idade'] = int(input('IDADE: '))
acumulaIdade += dados['idade']
# Salvando a cópia dos dados na lista de pessoas
pessoas.append(dados.copy())
print('-' * 30)
continuar = input('Deseja continuar? [S/N]: ').strip().upper()
# Em caso de opção incorreta
while continuar not in ('S', 'N'):
print('\nInforme a opção corretamente...')
continuar = input('Deseja continuar? [S/N]: ').strip().upper()
print('-' * 30)
# Finalizando a execução do programa
if continuar == 'N':
break
print(f'{" ESTATÍSTICAS ":^30}\n' + '-' * 30)
print(f'QUANTIDADE DE CADASTROS: {len(pessoas)}')
idadeMedia = acumulaIdade / len(pessoas)
print(f'\nMÉDIA DE IDADE: {idadeMedia:.1f} anos')
print('\nMULHERES CADASTRADAS:')
for cadastro in pessoas:
if cadastro['sexo'] == 'F':
print(f'\t--> {cadastro["nome"]}')
print('\nPESSOAS COM IDADE ACIMA DA IDADE MÉDIA:')
for cadastro in pessoas:
if cadastro['idade'] >= idadeMedia:
for chave, info in cadastro.items():
print(f'\t{chave} -> {info}')
print('-' * 30)
print('----- PROGRAMA ENCERRADO -----')