Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
51 changes: 51 additions & 0 deletions exercicios/para-casa/maria_gomes/compras_realizadas.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
id_compra,produto_comprado,preço_do_produto
1,Smartphone,"1.500,00"
3,Laptop,"3.000,00"
5,Tablet,"800,00"
8,Headphones,"150,00"
10,Monitor,"1.200,00"
12,Mouse,"50,00"
14,Keyboard,"80,00"
16,Speaker,"200,00"
19,Printer,"300,00"
20,Smartwatch,"500,00"
22,Keyboard,"80,00"
24,Tablet,"800,00"
26,Laptop,"3.000,00"
28,Monitor,"1.200,00"
30,Mouse,"50,00"
32,Speaker,"200,00"
34,Smartphone,"1.500,00"
36,Headphones,"150,00"
39,Smartwatch,"500,00"
40,Printer,"300,00"
42,Smartphone,"1.500,00"
44,Speaker,"200,00"
46,Mouse,"50,00"
48,Laptop,"3.000,00"
50,Keyboard,"80,00"
52,Monitor,"1.200,00"
54,Tablet,"800,00"
56,Speaker,"200,00"
59,Smartphone,"1.500,00"
60,Smartwatch,"500,00"
62,Keyboard,"80,00"
64,Tablet,"800,00"
66,Laptop,"3.000,00"
68,Monitor,"1.200,00"
70,Mouse,"50,00"
72,Speaker,"200,00"
74,Smartphone,"1.500,00"
76,Headphones,"150,00"
79,Smartwatch,"500,00"
80,Printer,"300,00"
82,Smartphone,"1.500,00"
84,Speaker,"200,00"
86,Mouse,"50,00"
88,Laptop,"3.000,00"
90,Keyboard,"80,00"
92,Monitor,"1.200,00"
94,Tablet,"800,00"
96,Speaker,"200,00"
99,Smartphone,"1.500,00"
100,Smartwatch,"500,00"
Binary file not shown.
101 changes: 101 additions & 0 deletions exercicios/para-casa/maria_gomes/pessoas.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
id_compra,nome_pessoa,regiao
,João da Silva,Sul
,Ana Souza,Sudeste
,Felipe Lima,Centro-Oeste
74,Ana Souza,Nordeste
,João da Silva,Norte
14,Ana Souza,Nordeste
79,Ana Souza,Sul
62,Maria Oliveira,Sudeste
94,Ana Souza,Norte
,Felipe Lima,Centro-Oeste
,Carlos Santos,Nordeste
,Felipe Lima,Norte
66,João da Silva,Sudeste
42,Maria Oliveira,Centro-Oeste
64,Ana Souza,Sul
,Carlos Santos,Norte
46,João da Silva,Nordeste
90,Carlos Santos,Sul
50,Carlos Santos,Centro-Oeste
8,Felipe Lima,Norte
92,Maria Oliveira,Sudeste
,João da Silva,Nordeste
20,Carlos Santos,Sul
,Felipe Lima,Centro-Oeste
,João da Silva,Norte
12,Maria Oliveira,Sudeste
,Maria Oliveira,Nordeste
,Ana Souza,Sul
,Felipe Lima,Centro-Oeste
59,Ana Souza,Norte
34,Ana Souza,Sudeste
10,Carlos Santos,Nordeste
,João da Silva,Sul
72,Maria Oliveira,Centro-Oeste
84,Ana Souza,Norte
,Ana Souza,Sudeste
19,Ana Souza,Nordeste
100,Carlos Santos,Sul
,Maria Oliveira,Centro-Oeste
48,Felipe Lima,Norte
,Felipe Lima,Sudeste
,João da Silva,Nordeste
,Maria Oliveira,Sul
16,João da Silva,Centro-Oeste
,Felipe Lima,Norte
,João da Silva,Sudeste
80,Carlos Santos,Nordeste
,Ana Souza,Sul
,Carlos Santos,Centro-Oeste
3,Carlos Santos,Norte
36,João da Silva,Sudeste
44,Ana Souza,Nordeste
40,Carlos Santos,Sul
,Ana Souza,Centro-Oeste
,Felipe Lima,Norte
,Felipe Lima,Sudeste
30,Carlos Santos,Nordeste
,Carlos Santos,Sul
,Maria Oliveira,Centro-Oeste
,Maria Oliveira,Norte
,João da Silva,Sudeste
86,João da Silva,Nordeste
32,Maria Oliveira,Sul
68,Felipe Lima,Centro-Oeste
,Felipe Lima,Norte
,Carlos Santos,Sudeste
70,Carlos Santos,Nordeste
,Felipe Lima,Sul
,Carlos Santos,Centro-Oeste
,Ana Souza,Norte
82,Maria Oliveira,Sudeste
,João da Silva,Nordeste
60,Carlos Santos,Sul
5,João da Silva,Centro-Oeste
1,João da Silva,Norte
,Maria Oliveira,Sudeste
22,Maria Oliveira,Nordeste
,Carlos Santos,Sul
,Felipe Lima,Centro-Oeste
,Maria Oliveira,Norte
99,Ana Souza,Sudeste
39,Ana Souza,Norte
,Maria Oliveira,Sudeste
26,João da Silva,Nordeste
,João da Silva,Sul
96,João da Silva,Centro-Oeste
,Carlos Santos,Norte
,Carlos Santos,Sudeste
,Felipe Lima,Nordeste
,Maria Oliveira,Sul
52,Maria Oliveira,Centro-Oeste
,Felipe Lima,Norte
76,João da Silva,Sudeste
88,Felipe Lima,Nordeste
28,Felipe Lima,Sul
54,Ana Souza,Centro-Oeste
,Maria Oliveira,Norte
24,Ana Souza,Sudeste
,Maria Oliveira,Nordeste
56,João da Silva,Sul
51 changes: 51 additions & 0 deletions exercicios/para-casa/maria_gomes/pessoas_x_compras.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
id_compra,nome_pessoa,regiao,preço_do_produto
74,Ana Souza,Nordeste,"1.500,00"
14,Ana Souza,Nordeste,"80,00"
79,Ana Souza,Sul,"500,00"
62,Maria Oliveira,Sudeste,"80,00"
94,Ana Souza,Norte,"800,00"
66,João da Silva,Sudeste,"3.000,00"
42,Maria Oliveira,Centro-Oeste,"1.500,00"
64,Ana Souza,Sul,"800,00"
46,João da Silva,Nordeste,"50,00"
90,Carlos Santos,Sul,"80,00"
50,Carlos Santos,Centro-Oeste,"80,00"
8,Felipe Lima,Norte,"150,00"
92,Maria Oliveira,Sudeste,"1.200,00"
20,Carlos Santos,Sul,"500,00"
12,Maria Oliveira,Sudeste,"50,00"
59,Ana Souza,Norte,"1.500,00"
34,Ana Souza,Sudeste,"1.500,00"
10,Carlos Santos,Nordeste,"1.200,00"
72,Maria Oliveira,Centro-Oeste,"200,00"
84,Ana Souza,Norte,"200,00"
19,Ana Souza,Nordeste,"300,00"
100,Carlos Santos,Sul,"500,00"
48,Felipe Lima,Norte,"3.000,00"
16,João da Silva,Centro-Oeste,"200,00"
80,Carlos Santos,Nordeste,"300,00"
3,Carlos Santos,Norte,"3.000,00"
36,João da Silva,Sudeste,"150,00"
44,Ana Souza,Nordeste,"200,00"
40,Carlos Santos,Sul,"300,00"
30,Carlos Santos,Nordeste,"50,00"
86,João da Silva,Nordeste,"50,00"
32,Maria Oliveira,Sul,"200,00"
68,Felipe Lima,Centro-Oeste,"1.200,00"
70,Carlos Santos,Nordeste,"50,00"
82,Maria Oliveira,Sudeste,"1.500,00"
60,Carlos Santos,Sul,"500,00"
5,João da Silva,Centro-Oeste,"800,00"
1,João da Silva,Norte,"1.500,00"
22,Maria Oliveira,Nordeste,"80,00"
99,Ana Souza,Sudeste,"1.500,00"
39,Ana Souza,Norte,"500,00"
26,João da Silva,Nordeste,"3.000,00"
96,João da Silva,Centro-Oeste,"200,00"
52,Maria Oliveira,Centro-Oeste,"1.200,00"
76,João da Silva,Sudeste,"150,00"
88,Felipe Lima,Nordeste,"3.000,00"
28,Felipe Lima,Sul,"1.200,00"
54,Ana Souza,Centro-Oeste,"800,00"
24,Ana Souza,Sudeste,"800,00"
56,João da Silva,Sul,"200,00"
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
79 changes: 79 additions & 0 deletions exercicios/para-casa/maria_gomes/tratado.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
import csv

norte = []
nordeste = []
co = []
sul = []
sudeste = []

somas = {
'Norte': 0,
'Nordeste': 0,
'Sul': 0,
'Centro-Oeste': 0,
'Sudeste': 0
}

pessoas_x_compras = []

with open('pessoas.csv', newline='', encoding='utf-8') as csvfile:
pessoa = csv.DictReader(csvfile)
fieldnames = pessoa.fieldnames + ['preço_do_produto']

for linha in pessoa:
with open('compras_realizadas.csv', newline='', encoding='utf-8') as csvfile2:
compra = csv.DictReader(csvfile2)
for _linha in compra:
if linha['id_compra'] == _linha['id_compra']:
linha['preço_do_produto'] = _linha['preço_do_produto']
break
else:
linha['preço_do_produto'] = ''


if linha['id_compra']:
pessoas_x_compras.append(linha)
if linha['regiao'] == 'Norte':
norte.append(linha['id_compra'])

if linha['regiao'] == 'Nordeste':
nordeste.append(linha['id_compra'])

if linha['regiao'] == 'Centro-Oeste':
co.append(linha['id_compra'])

if linha['regiao'] == 'Sul':
sul.append(linha['id_compra'])

if linha['regiao'] == 'Sudeste':
sudeste.append(linha['id_compra'])
print(linha)

with open('pessoas_x_compras.csv', 'w', newline='', encoding='utf-8') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for linha in pessoas_x_compras:
writer.writerow(linha)

with open('compras_realizadas.csv', newline='', encoding='utf-8') as csvfile:
compra = csv.DictReader(csvfile)
for linha in compra:
if linha['id_compra'] in norte:
somas['Norte'] += float(linha['preço_do_produto'].replace('.', '').replace(',', '.'))

if linha['id_compra'] in nordeste:
somas['Nordeste'] += float(linha['preço_do_produto'].replace('.', '').replace(',', '.'))

if linha['id_compra'] in co:
somas['Centro-Oeste'] += float(linha['preço_do_produto'].replace('.', '').replace(',', '.'))

if linha['id_compra'] in sul:
somas['Sul'] += float(linha['preço_do_produto'].replace('.', '').replace(',', '.'))

if linha['id_compra'] in sudeste:
somas['Sudeste'] += float(linha['preço_do_produto'].replace('.', '').replace(',', '.'))

regiao_mais_lucro = max(somas, key=somas.get)
resultado = f"A região que mais deu lucro foi: {regiao_mais_lucro} com um lucro de R${somas[regiao_mais_lucro]:.2f}"

print(resultado)