Skip to content

Commit d66b412

Browse files
committed
Resolução do exercicio 04
1 parent 91e68a9 commit d66b412

File tree

4 files changed

+50
-0
lines changed

4 files changed

+50
-0
lines changed
Binary file not shown.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Análise estatistica do arquivo pessoas.csv
2+
Porcentagem de Homens,Porcentagem de Mulheres,Quantidade de maiores de idade,Quantidade de menores de idade
3+
60.0,40.0,7,3

exercicio-04/willidert/exercicio.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from model import Pessoa, calc_por
2+
3+
4+
with open("../pessoas.csv", 'r') as file:
5+
arr = []
6+
next(file)
7+
for linha in file:
8+
nome, idade, sexo = linha.strip().split(',')
9+
arr.append(Pessoa(nome, idade, sexo))
10+
11+
result = calc_por(arr)
12+
cols = [
13+
'Porcentagem de Homens',
14+
'Porcentagem de Mulheres',
15+
'Quantidade de maiores de idade',
16+
'Quantidade de menores de idade'
17+
]
18+
with open("estatisticas.csv", 'w') as out_file:
19+
out_file.write('Análise estatistica do arquivo pessoas.csv\n')
20+
out_file.write(','.join(cols) + '\n')
21+
out_file.write(','.join(list(map(str, result))) + '\n')

exercicio-04/willidert/model.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
class Pessoa():
2+
def __init__(self, nome, idade, sexo):
3+
self.nome = nome
4+
self.idade = idade
5+
self.sexo = sexo
6+
7+
8+
def calc_por(arr):
9+
total_m = 0
10+
total_f = 0
11+
id_maior = 0
12+
id_menor = 0
13+
for i in arr:
14+
if i.sexo == 'M':
15+
total_m += 1
16+
else:
17+
total_f += 1
18+
if int(i.idade) >= 18:
19+
id_maior += 1
20+
else:
21+
id_menor += 1
22+
return [
23+
total_m * 100 / len(arr),
24+
total_f * 100 / len(arr),
25+
id_maior,
26+
id_menor]

0 commit comments

Comments
 (0)