├── Certificate
└── certificado-jornada-python.png
├── Python Dev
└── codigo.py
├── Python IA
├── clientes.csv
├── codigo.ipynb
└── novos_clientes.csv
├── Python Insights
├── cancelamentos_sample.csv
└── codigo.ipynb
├── Python PowerUp
├── codigo.py
├── pegar_posicao.py
└── produtos.csv
└── README.md
/Certificate/certificado-jornada-python.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/paulo-magls/curso-python/fc82d00be5308180b5c21f6ecccd063fa5c268a3/Certificate/certificado-jornada-python.png
--------------------------------------------------------------------------------
/Python Dev/codigo.py:
--------------------------------------------------------------------------------
1 | # Hashzap
2 | # botao de iniciar chat
3 | # popup para entrar no chat
4 | # quando entrar no chat: (aparece para todo mundo)
5 | # a mensagem que você entrou no chat
6 | # o campo e o botão de enviar mensagem
7 | # a cada mensagem que você envia (aparece para todo mundo)
8 | # Nome: Texto da Mensagem
9 |
10 | import flet as ft
11 |
12 | def main(pagina):
13 | texto = ft.Text("Hashzap")
14 |
15 | chat = ft.Column()
16 |
17 | nome_usuario = ft.TextField(label="Escreva seu nome")
18 |
19 | def enviar_mensagem_tunel(mensagem):
20 | tipo = mensagem["tipo"]
21 | if tipo == "mensagem":
22 | texto_mensagem = mensagem["texto"]
23 | usuario_mensagem = mensagem["usuario"]
24 | # adicionar a mensagem no chat
25 | chat.controls.append(ft.Text(f"{usuario_mensagem}: {texto_mensagem}"))
26 | else:
27 | usuario_mensagem = mensagem["usuario"]
28 | chat.controls.append(ft.Text(f"{usuario_mensagem} entrou no chat",
29 | size=12, italic=True, color=ft.colors.ORANGE_500))
30 | pagina.update()
31 |
32 | pagina.pubsub.subscribe(enviar_mensagem_tunel)
33 |
34 | def enviar_mensagem(evento):
35 | pagina.pubsub.send_all({"texto": campo_mensagem.value, "usuario": nome_usuario.value,
36 | "tipo": "mensagem"})
37 | # limpar o campo de mensagem
38 | campo_mensagem.value = ""
39 | pagina.update()
40 |
41 | campo_mensagem = ft.TextField(label="Digite uma mensagem", on_submit=enviar_mensagem)
42 | botao_enviar_mensagem = ft.ElevatedButton("Enviar", on_click=enviar_mensagem)
43 |
44 | def entrar_popup(evento):
45 | pagina.pubsub.send_all({"usuario": nome_usuario.value, "tipo": "entrada"})
46 | # adicionar o chat
47 | pagina.add(chat)
48 | # fechar o popup
49 | popup.open = False
50 | # remover o botao iniciar chat
51 | pagina.remove(botao_iniciar)
52 | pagina.remove(texto)
53 | # criar o campo de mensagem do usuario
54 | # criar o botao de enviar mensagem do usuario
55 | pagina.add(ft.Row(
56 | [campo_mensagem, botao_enviar_mensagem]
57 | ))
58 | pagina.update()
59 |
60 | popup = ft.AlertDialog(
61 | open=False,
62 | modal=True,
63 | title=ft.Text("Bem vindo ao Hashzap"),
64 | content=nome_usuario,
65 | actions=[ft.ElevatedButton("Entrar", on_click=entrar_popup)],
66 | )
67 |
68 | def entrar_chat(evento):
69 | pagina.dialog = popup
70 | popup.open = True
71 | pagina.update()
72 |
73 | botao_iniciar = ft.ElevatedButton("Iniciar chat", on_click=entrar_chat)
74 |
75 | pagina.add(texto)
76 | pagina.add(botao_iniciar)
77 |
78 | ft.app(target=main, view=ft.WEB_BROWSER, port=8000)
79 |
80 | # deploy
--------------------------------------------------------------------------------
/Python IA/codigo.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Projeto Python IA: Inteligência Artificial e Previsões\n",
8 | "\n",
9 | "### Case: Score de Crédito dos Clientes\n",
10 | "\n",
11 | "Você foi contratado por um banco para conseguir definir o score de crédito dos clientes. Você precisa analisar todos os clientes do banco e, com base nessa análise, criar um modelo que consiga ler as informações do cliente e dizer automaticamente o score de crédito dele: Ruim, Ok, Bom\n",
12 | "\n",
13 | "Arquivos da aula: https://drive.google.com/drive/folders/1FbDqVq4XLvU85VBlVIMJ73p9oOu6u2-J?usp=drive_link"
14 | ]
15 | },
16 | {
17 | "cell_type": "code",
18 | "execution_count": 10,
19 | "metadata": {},
20 | "outputs": [
21 | {
22 | "data": {
23 | "text/html": [
24 | "
\n",
25 | "\n",
38 | "
\n",
39 | " \n",
40 | " \n",
41 | " | \n",
42 | " id_cliente | \n",
43 | " mes | \n",
44 | " idade | \n",
45 | " profissao | \n",
46 | " salario_anual | \n",
47 | " num_contas | \n",
48 | " num_cartoes | \n",
49 | " juros_emprestimo | \n",
50 | " num_emprestimos | \n",
51 | " dias_atraso | \n",
52 | " ... | \n",
53 | " idade_historico_credito | \n",
54 | " investimento_mensal | \n",
55 | " comportamento_pagamento | \n",
56 | " saldo_final_mes | \n",
57 | " score_credito | \n",
58 | " emprestimo_carro | \n",
59 | " emprestimo_casa | \n",
60 | " emprestimo_pessoal | \n",
61 | " emprestimo_credito | \n",
62 | " emprestimo_estudantil | \n",
63 | "
\n",
64 | " \n",
65 | " \n",
66 | " \n",
67 | " 0 | \n",
68 | " 3392 | \n",
69 | " 1 | \n",
70 | " 23.0 | \n",
71 | " cientista | \n",
72 | " 19114.12 | \n",
73 | " 3.0 | \n",
74 | " 4.0 | \n",
75 | " 3.0 | \n",
76 | " 4.0 | \n",
77 | " 3.0 | \n",
78 | " ... | \n",
79 | " 265.0 | \n",
80 | " 21.465380 | \n",
81 | " alto_gasto_pagamento_baixos | \n",
82 | " 312.494089 | \n",
83 | " Good | \n",
84 | " 1 | \n",
85 | " 1 | \n",
86 | " 1 | \n",
87 | " 1 | \n",
88 | " 0 | \n",
89 | "
\n",
90 | " \n",
91 | " 1 | \n",
92 | " 3392 | \n",
93 | " 2 | \n",
94 | " 23.0 | \n",
95 | " cientista | \n",
96 | " 19114.12 | \n",
97 | " 3.0 | \n",
98 | " 4.0 | \n",
99 | " 3.0 | \n",
100 | " 4.0 | \n",
101 | " 3.0 | \n",
102 | " ... | \n",
103 | " 266.0 | \n",
104 | " 21.465380 | \n",
105 | " baixo_gasto_pagamento_alto | \n",
106 | " 284.629162 | \n",
107 | " Good | \n",
108 | " 1 | \n",
109 | " 1 | \n",
110 | " 1 | \n",
111 | " 1 | \n",
112 | " 0 | \n",
113 | "
\n",
114 | " \n",
115 | " 2 | \n",
116 | " 3392 | \n",
117 | " 3 | \n",
118 | " 23.0 | \n",
119 | " cientista | \n",
120 | " 19114.12 | \n",
121 | " 3.0 | \n",
122 | " 4.0 | \n",
123 | " 3.0 | \n",
124 | " 4.0 | \n",
125 | " 3.0 | \n",
126 | " ... | \n",
127 | " 267.0 | \n",
128 | " 21.465380 | \n",
129 | " baixo_gasto_pagamento_medio | \n",
130 | " 331.209863 | \n",
131 | " Good | \n",
132 | " 1 | \n",
133 | " 1 | \n",
134 | " 1 | \n",
135 | " 1 | \n",
136 | " 0 | \n",
137 | "
\n",
138 | " \n",
139 | " 3 | \n",
140 | " 3392 | \n",
141 | " 4 | \n",
142 | " 23.0 | \n",
143 | " cientista | \n",
144 | " 19114.12 | \n",
145 | " 3.0 | \n",
146 | " 4.0 | \n",
147 | " 3.0 | \n",
148 | " 4.0 | \n",
149 | " 5.0 | \n",
150 | " ... | \n",
151 | " 268.0 | \n",
152 | " 21.465380 | \n",
153 | " baixo_gasto_pagamento_baixo | \n",
154 | " 223.451310 | \n",
155 | " Good | \n",
156 | " 1 | \n",
157 | " 1 | \n",
158 | " 1 | \n",
159 | " 1 | \n",
160 | " 0 | \n",
161 | "
\n",
162 | " \n",
163 | " 4 | \n",
164 | " 3392 | \n",
165 | " 5 | \n",
166 | " 23.0 | \n",
167 | " cientista | \n",
168 | " 19114.12 | \n",
169 | " 3.0 | \n",
170 | " 4.0 | \n",
171 | " 3.0 | \n",
172 | " 4.0 | \n",
173 | " 6.0 | \n",
174 | " ... | \n",
175 | " 269.0 | \n",
176 | " 21.465380 | \n",
177 | " alto_gasto_pagamento_medio | \n",
178 | " 341.489231 | \n",
179 | " Good | \n",
180 | " 1 | \n",
181 | " 1 | \n",
182 | " 1 | \n",
183 | " 1 | \n",
184 | " 0 | \n",
185 | "
\n",
186 | " \n",
187 | " ... | \n",
188 | " ... | \n",
189 | " ... | \n",
190 | " ... | \n",
191 | " ... | \n",
192 | " ... | \n",
193 | " ... | \n",
194 | " ... | \n",
195 | " ... | \n",
196 | " ... | \n",
197 | " ... | \n",
198 | " ... | \n",
199 | " ... | \n",
200 | " ... | \n",
201 | " ... | \n",
202 | " ... | \n",
203 | " ... | \n",
204 | " ... | \n",
205 | " ... | \n",
206 | " ... | \n",
207 | " ... | \n",
208 | " ... | \n",
209 | "
\n",
210 | " \n",
211 | " 99995 | \n",
212 | " 37932 | \n",
213 | " 4 | \n",
214 | " 25.0 | \n",
215 | " mecanico | \n",
216 | " 39628.99 | \n",
217 | " 4.0 | \n",
218 | " 6.0 | \n",
219 | " 7.0 | \n",
220 | " 2.0 | \n",
221 | " 23.0 | \n",
222 | " ... | \n",
223 | " 378.0 | \n",
224 | " 24.028477 | \n",
225 | " alto_gasto_pagamento_alto | \n",
226 | " 479.866228 | \n",
227 | " Poor | \n",
228 | " 1 | \n",
229 | " 0 | \n",
230 | " 0 | \n",
231 | " 0 | \n",
232 | " 1 | \n",
233 | "
\n",
234 | " \n",
235 | " 99996 | \n",
236 | " 37932 | \n",
237 | " 5 | \n",
238 | " 25.0 | \n",
239 | " mecanico | \n",
240 | " 39628.99 | \n",
241 | " 4.0 | \n",
242 | " 6.0 | \n",
243 | " 7.0 | \n",
244 | " 2.0 | \n",
245 | " 18.0 | \n",
246 | " ... | \n",
247 | " 379.0 | \n",
248 | " 24.028477 | \n",
249 | " alto_gasto_pagamento_medio | \n",
250 | " 496.651610 | \n",
251 | " Poor | \n",
252 | " 1 | \n",
253 | " 0 | \n",
254 | " 0 | \n",
255 | " 0 | \n",
256 | " 1 | \n",
257 | "
\n",
258 | " \n",
259 | " 99997 | \n",
260 | " 37932 | \n",
261 | " 6 | \n",
262 | " 25.0 | \n",
263 | " mecanico | \n",
264 | " 39628.99 | \n",
265 | " 4.0 | \n",
266 | " 6.0 | \n",
267 | " 7.0 | \n",
268 | " 2.0 | \n",
269 | " 27.0 | \n",
270 | " ... | \n",
271 | " 380.0 | \n",
272 | " 24.028477 | \n",
273 | " alto_gasto_pagamento_alto | \n",
274 | " 516.809083 | \n",
275 | " Poor | \n",
276 | " 1 | \n",
277 | " 0 | \n",
278 | " 0 | \n",
279 | " 0 | \n",
280 | " 1 | \n",
281 | "
\n",
282 | " \n",
283 | " 99998 | \n",
284 | " 37932 | \n",
285 | " 7 | \n",
286 | " 25.0 | \n",
287 | " mecanico | \n",
288 | " 39628.99 | \n",
289 | " 4.0 | \n",
290 | " 6.0 | \n",
291 | " 7.0 | \n",
292 | " 2.0 | \n",
293 | " 20.0 | \n",
294 | " ... | \n",
295 | " 381.0 | \n",
296 | " 24.028477 | \n",
297 | " baixo_gasto_pagamento_alto | \n",
298 | " 319.164979 | \n",
299 | " Standard | \n",
300 | " 1 | \n",
301 | " 0 | \n",
302 | " 0 | \n",
303 | " 0 | \n",
304 | " 1 | \n",
305 | "
\n",
306 | " \n",
307 | " 99999 | \n",
308 | " 37932 | \n",
309 | " 8 | \n",
310 | " 25.0 | \n",
311 | " mecanico | \n",
312 | " 39628.99 | \n",
313 | " 4.0 | \n",
314 | " 6.0 | \n",
315 | " 7.0 | \n",
316 | " 2.0 | \n",
317 | " 18.0 | \n",
318 | " ... | \n",
319 | " 382.0 | \n",
320 | " 24.028477 | \n",
321 | " alto_gasto_pagamento_medio | \n",
322 | " 393.673696 | \n",
323 | " Poor | \n",
324 | " 1 | \n",
325 | " 0 | \n",
326 | " 0 | \n",
327 | " 0 | \n",
328 | " 1 | \n",
329 | "
\n",
330 | " \n",
331 | "
\n",
332 | "
100000 rows × 25 columns
\n",
333 | "
"
334 | ],
335 | "text/plain": [
336 | " id_cliente mes idade profissao salario_anual num_contas \\\n",
337 | "0 3392 1 23.0 cientista 19114.12 3.0 \n",
338 | "1 3392 2 23.0 cientista 19114.12 3.0 \n",
339 | "2 3392 3 23.0 cientista 19114.12 3.0 \n",
340 | "3 3392 4 23.0 cientista 19114.12 3.0 \n",
341 | "4 3392 5 23.0 cientista 19114.12 3.0 \n",
342 | "... ... ... ... ... ... ... \n",
343 | "99995 37932 4 25.0 mecanico 39628.99 4.0 \n",
344 | "99996 37932 5 25.0 mecanico 39628.99 4.0 \n",
345 | "99997 37932 6 25.0 mecanico 39628.99 4.0 \n",
346 | "99998 37932 7 25.0 mecanico 39628.99 4.0 \n",
347 | "99999 37932 8 25.0 mecanico 39628.99 4.0 \n",
348 | "\n",
349 | " num_cartoes juros_emprestimo num_emprestimos dias_atraso ... \\\n",
350 | "0 4.0 3.0 4.0 3.0 ... \n",
351 | "1 4.0 3.0 4.0 3.0 ... \n",
352 | "2 4.0 3.0 4.0 3.0 ... \n",
353 | "3 4.0 3.0 4.0 5.0 ... \n",
354 | "4 4.0 3.0 4.0 6.0 ... \n",
355 | "... ... ... ... ... ... \n",
356 | "99995 6.0 7.0 2.0 23.0 ... \n",
357 | "99996 6.0 7.0 2.0 18.0 ... \n",
358 | "99997 6.0 7.0 2.0 27.0 ... \n",
359 | "99998 6.0 7.0 2.0 20.0 ... \n",
360 | "99999 6.0 7.0 2.0 18.0 ... \n",
361 | "\n",
362 | " idade_historico_credito investimento_mensal \\\n",
363 | "0 265.0 21.465380 \n",
364 | "1 266.0 21.465380 \n",
365 | "2 267.0 21.465380 \n",
366 | "3 268.0 21.465380 \n",
367 | "4 269.0 21.465380 \n",
368 | "... ... ... \n",
369 | "99995 378.0 24.028477 \n",
370 | "99996 379.0 24.028477 \n",
371 | "99997 380.0 24.028477 \n",
372 | "99998 381.0 24.028477 \n",
373 | "99999 382.0 24.028477 \n",
374 | "\n",
375 | " comportamento_pagamento saldo_final_mes score_credito \\\n",
376 | "0 alto_gasto_pagamento_baixos 312.494089 Good \n",
377 | "1 baixo_gasto_pagamento_alto 284.629162 Good \n",
378 | "2 baixo_gasto_pagamento_medio 331.209863 Good \n",
379 | "3 baixo_gasto_pagamento_baixo 223.451310 Good \n",
380 | "4 alto_gasto_pagamento_medio 341.489231 Good \n",
381 | "... ... ... ... \n",
382 | "99995 alto_gasto_pagamento_alto 479.866228 Poor \n",
383 | "99996 alto_gasto_pagamento_medio 496.651610 Poor \n",
384 | "99997 alto_gasto_pagamento_alto 516.809083 Poor \n",
385 | "99998 baixo_gasto_pagamento_alto 319.164979 Standard \n",
386 | "99999 alto_gasto_pagamento_medio 393.673696 Poor \n",
387 | "\n",
388 | " emprestimo_carro emprestimo_casa emprestimo_pessoal \\\n",
389 | "0 1 1 1 \n",
390 | "1 1 1 1 \n",
391 | "2 1 1 1 \n",
392 | "3 1 1 1 \n",
393 | "4 1 1 1 \n",
394 | "... ... ... ... \n",
395 | "99995 1 0 0 \n",
396 | "99996 1 0 0 \n",
397 | "99997 1 0 0 \n",
398 | "99998 1 0 0 \n",
399 | "99999 1 0 0 \n",
400 | "\n",
401 | " emprestimo_credito emprestimo_estudantil \n",
402 | "0 1 0 \n",
403 | "1 1 0 \n",
404 | "2 1 0 \n",
405 | "3 1 0 \n",
406 | "4 1 0 \n",
407 | "... ... ... \n",
408 | "99995 0 1 \n",
409 | "99996 0 1 \n",
410 | "99997 0 1 \n",
411 | "99998 0 1 \n",
412 | "99999 0 1 \n",
413 | "\n",
414 | "[100000 rows x 25 columns]"
415 | ]
416 | },
417 | "metadata": {},
418 | "output_type": "display_data"
419 | }
420 | ],
421 | "source": [
422 | "import pandas as pd\n",
423 | "\n",
424 | "tabela = pd.read_csv(\"clientes.csv\") # importa a base de dados\n",
425 | "display(tabela)"
426 | ]
427 | },
428 | {
429 | "cell_type": "code",
430 | "execution_count": 11,
431 | "metadata": {},
432 | "outputs": [
433 | {
434 | "name": "stdout",
435 | "output_type": "stream",
436 | "text": [
437 | "\n",
438 | "RangeIndex: 100000 entries, 0 to 99999\n",
439 | "Data columns (total 25 columns):\n",
440 | " # Column Non-Null Count Dtype \n",
441 | "--- ------ -------------- ----- \n",
442 | " 0 id_cliente 100000 non-null int64 \n",
443 | " 1 mes 100000 non-null int64 \n",
444 | " 2 idade 100000 non-null float64\n",
445 | " 3 profissao 100000 non-null object \n",
446 | " 4 salario_anual 100000 non-null float64\n",
447 | " 5 num_contas 100000 non-null float64\n",
448 | " 6 num_cartoes 100000 non-null float64\n",
449 | " 7 juros_emprestimo 100000 non-null float64\n",
450 | " 8 num_emprestimos 100000 non-null float64\n",
451 | " 9 dias_atraso 100000 non-null float64\n",
452 | " 10 num_pagamentos_atrasados 100000 non-null float64\n",
453 | " 11 num_verificacoes_credito 100000 non-null float64\n",
454 | " 12 mix_credito 100000 non-null object \n",
455 | " 13 divida_total 100000 non-null float64\n",
456 | " 14 taxa_uso_credito 100000 non-null float64\n",
457 | " 15 idade_historico_credito 100000 non-null float64\n",
458 | " 16 investimento_mensal 100000 non-null float64\n",
459 | " 17 comportamento_pagamento 100000 non-null object \n",
460 | " 18 saldo_final_mes 100000 non-null float64\n",
461 | " 19 score_credito 100000 non-null object \n",
462 | " 20 emprestimo_carro 100000 non-null int64 \n",
463 | " 21 emprestimo_casa 100000 non-null int64 \n",
464 | " 22 emprestimo_pessoal 100000 non-null int64 \n",
465 | " 23 emprestimo_credito 100000 non-null int64 \n",
466 | " 24 emprestimo_estudantil 100000 non-null int64 \n",
467 | "dtypes: float64(14), int64(7), object(4)\n",
468 | "memory usage: 19.1+ MB\n",
469 | "None\n",
470 | "Index(['id_cliente', 'mes', 'idade', 'profissao', 'salario_anual',\n",
471 | " 'num_contas', 'num_cartoes', 'juros_emprestimo', 'num_emprestimos',\n",
472 | " 'dias_atraso', 'num_pagamentos_atrasados', 'num_verificacoes_credito',\n",
473 | " 'mix_credito', 'divida_total', 'taxa_uso_credito',\n",
474 | " 'idade_historico_credito', 'investimento_mensal',\n",
475 | " 'comportamento_pagamento', 'saldo_final_mes', 'score_credito',\n",
476 | " 'emprestimo_carro', 'emprestimo_casa', 'emprestimo_pessoal',\n",
477 | " 'emprestimo_credito', 'emprestimo_estudantil'],\n",
478 | " dtype='object')\n"
479 | ]
480 | }
481 | ],
482 | "source": [
483 | "# verificar se temos valores vazios ou valores reconhecidos em formato errado\n",
484 | "print(tabela.info())\n",
485 | "print(tabela.columns)"
486 | ]
487 | },
488 | {
489 | "cell_type": "code",
490 | "execution_count": 12,
491 | "metadata": {},
492 | "outputs": [
493 | {
494 | "name": "stdout",
495 | "output_type": "stream",
496 | "text": [
497 | "\n",
498 | "RangeIndex: 100000 entries, 0 to 99999\n",
499 | "Data columns (total 25 columns):\n",
500 | " # Column Non-Null Count Dtype \n",
501 | "--- ------ -------------- ----- \n",
502 | " 0 id_cliente 100000 non-null int64 \n",
503 | " 1 mes 100000 non-null int64 \n",
504 | " 2 idade 100000 non-null float64\n",
505 | " 3 profissao 100000 non-null int32 \n",
506 | " 4 salario_anual 100000 non-null float64\n",
507 | " 5 num_contas 100000 non-null float64\n",
508 | " 6 num_cartoes 100000 non-null float64\n",
509 | " 7 juros_emprestimo 100000 non-null float64\n",
510 | " 8 num_emprestimos 100000 non-null float64\n",
511 | " 9 dias_atraso 100000 non-null float64\n",
512 | " 10 num_pagamentos_atrasados 100000 non-null float64\n",
513 | " 11 num_verificacoes_credito 100000 non-null float64\n",
514 | " 12 mix_credito 100000 non-null int32 \n",
515 | " 13 divida_total 100000 non-null float64\n",
516 | " 14 taxa_uso_credito 100000 non-null float64\n",
517 | " 15 idade_historico_credito 100000 non-null float64\n",
518 | " 16 investimento_mensal 100000 non-null float64\n",
519 | " 17 comportamento_pagamento 100000 non-null int32 \n",
520 | " 18 saldo_final_mes 100000 non-null float64\n",
521 | " 19 score_credito 100000 non-null object \n",
522 | " 20 emprestimo_carro 100000 non-null int64 \n",
523 | " 21 emprestimo_casa 100000 non-null int64 \n",
524 | " 22 emprestimo_pessoal 100000 non-null int64 \n",
525 | " 23 emprestimo_credito 100000 non-null int64 \n",
526 | " 24 emprestimo_estudantil 100000 non-null int64 \n",
527 | "dtypes: float64(14), int32(3), int64(7), object(1)\n",
528 | "memory usage: 17.9+ MB\n",
529 | "None\n"
530 | ]
531 | }
532 | ],
533 | "source": [
534 | "from sklearn.preprocessing import LabelEncoder\n",
535 | "# vai transformar as colunas de texto em números, ex: profissoes vai sair de cientista, professor, mecanico, etc para 0, 1, 2, etc\n",
536 | "codificador = LabelEncoder()\n",
537 | "\n",
538 | "# só não aplicamos na coluna de score_credito que é o nosso objetivo\n",
539 | "for coluna in tabela.columns:\n",
540 | " if tabela[coluna].dtype == \"object\" and coluna != \"score_credito\":\n",
541 | " tabela[coluna] = codificador.fit_transform(tabela[coluna])\n",
542 | "\n",
543 | "# verificando se realmente todas as colunas foram modificadas\n",
544 | "print(tabela.info())"
545 | ]
546 | },
547 | {
548 | "cell_type": "code",
549 | "execution_count": 13,
550 | "metadata": {},
551 | "outputs": [],
552 | "source": [
553 | "# escolhendo quais colunas vamos usar para treinar o modelo\n",
554 | "# y é a coluna que queremos que o modelo calcule\n",
555 | "# x vai todas as colunas que vamos usar para prever o score de credito, não vamos usar a coluna id_cliente porque ela é um numero qualquer que nao ajuda a previsao\n",
556 | "x = tabela.drop([\"score_credito\", \"id_cliente\"], axis=1)\n",
557 | "y = tabela[\"score_credito\"]\n",
558 | "\n",
559 | "from sklearn.model_selection import train_test_split\n",
560 | "\n",
561 | "# separamos os dados em treino e teste. Treino vamos dar para os modelos aprenderem e teste vamos usar para ver se o modelo aprendeu corretamente\n",
562 | "x_treino, x_teste, y_treino, y_teste = train_test_split(x, y, test_size=0.3, random_state=1)"
563 | ]
564 | },
565 | {
566 | "cell_type": "code",
567 | "execution_count": 14,
568 | "metadata": {},
569 | "outputs": [
570 | {
571 | "data": {
572 | "text/html": [
573 | "KNeighborsClassifier()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org. "
574 | ],
575 | "text/plain": [
576 | "KNeighborsClassifier()"
577 | ]
578 | },
579 | "execution_count": 14,
580 | "metadata": {},
581 | "output_type": "execute_result"
582 | }
583 | ],
584 | "source": [
585 | "from sklearn.ensemble import RandomForestClassifier\n",
586 | "from sklearn.neighbors import KNeighborsClassifier\n",
587 | "\n",
588 | "modelo_arvore = RandomForestClassifier() # modelo arvore de decisao\n",
589 | "modelo_knn = KNeighborsClassifier() # modelo do KNN (nearest neighbors - vizinhos mais proximos)\n",
590 | "\n",
591 | "# treinando os modelos\n",
592 | "modelo_arvore.fit(x_treino, y_treino)\n",
593 | "modelo_knn.fit(x_treino, y_treino)"
594 | ]
595 | },
596 | {
597 | "cell_type": "code",
598 | "execution_count": 15,
599 | "metadata": {},
600 | "outputs": [
601 | {
602 | "name": "stdout",
603 | "output_type": "stream",
604 | "text": [
605 | "0.53174\n"
606 | ]
607 | }
608 | ],
609 | "source": [
610 | "# se o nosso modelo chutasse tudo \"Standard\", qual seria a acurácia do modelo?\n",
611 | "contagem_scores = tabela[\"score_credito\"].value_counts()\n",
612 | "print(contagem_scores['Standard'] / sum(contagem_scores))"
613 | ]
614 | },
615 | {
616 | "cell_type": "code",
617 | "execution_count": 16,
618 | "metadata": {},
619 | "outputs": [
620 | {
621 | "name": "stdout",
622 | "output_type": "stream",
623 | "text": [
624 | "0.8248666666666666\n",
625 | "0.7324\n"
626 | ]
627 | }
628 | ],
629 | "source": [
630 | "from sklearn.metrics import accuracy_score\n",
631 | "\n",
632 | "# calculamos as previsoes\n",
633 | "previsao_arvore = modelo_arvore.predict(x_teste)\n",
634 | "previsao_knn = modelo_knn.predict(x_teste)\n",
635 | "\n",
636 | "# comparamos as previsoes com o y_teste\n",
637 | "# esse score queremos o maior (maior acuracia, mas tb tem que ser maior do que o chute de tudo Standard)\n",
638 | "print(accuracy_score(y_teste, previsao_arvore))\n",
639 | "print(accuracy_score(y_teste, previsao_knn))\n",
640 | "\n"
641 | ]
642 | },
643 | {
644 | "cell_type": "code",
645 | "execution_count": 17,
646 | "metadata": {},
647 | "outputs": [
648 | {
649 | "data": {
650 | "text/html": [
651 | "\n",
652 | "\n",
665 | "
\n",
666 | " \n",
667 | " \n",
668 | " | \n",
669 | " mes | \n",
670 | " idade | \n",
671 | " profissao | \n",
672 | " salario_anual | \n",
673 | " num_contas | \n",
674 | " num_cartoes | \n",
675 | " juros_emprestimo | \n",
676 | " num_emprestimos | \n",
677 | " dias_atraso | \n",
678 | " num_pagamentos_atrasados | \n",
679 | " ... | \n",
680 | " taxa_uso_credito | \n",
681 | " idade_historico_credito | \n",
682 | " investimento_mensal | \n",
683 | " comportamento_pagamento | \n",
684 | " saldo_final_mes | \n",
685 | " emprestimo_carro | \n",
686 | " emprestimo_casa | \n",
687 | " emprestimo_pessoal | \n",
688 | " emprestimo_credito | \n",
689 | " emprestimo_estudantil | \n",
690 | "
\n",
691 | " \n",
692 | " \n",
693 | " \n",
694 | " 0 | \n",
695 | " 1 | \n",
696 | " 31.0 | \n",
697 | " empresario | \n",
698 | " 19300.340 | \n",
699 | " 6.0 | \n",
700 | " 7.0 | \n",
701 | " 17.0 | \n",
702 | " 5.0 | \n",
703 | " 52.0 | \n",
704 | " 19.0 | \n",
705 | " ... | \n",
706 | " 29.934186 | \n",
707 | " 218.0 | \n",
708 | " 44.50951 | \n",
709 | " baixo_gasto_pagamento_baixo | \n",
710 | " 312.487689 | \n",
711 | " 1 | \n",
712 | " 1 | \n",
713 | " 0 | \n",
714 | " 0 | \n",
715 | " 0 | \n",
716 | "
\n",
717 | " \n",
718 | " 1 | \n",
719 | " 4 | \n",
720 | " 32.0 | \n",
721 | " advogado | \n",
722 | " 12600.445 | \n",
723 | " 5.0 | \n",
724 | " 5.0 | \n",
725 | " 10.0 | \n",
726 | " 3.0 | \n",
727 | " 25.0 | \n",
728 | " 18.0 | \n",
729 | " ... | \n",
730 | " 28.819407 | \n",
731 | " 12.0 | \n",
732 | " 0.00000 | \n",
733 | " baixo_gasto_pagamento_medio | \n",
734 | " 300.994163 | \n",
735 | " 0 | \n",
736 | " 0 | \n",
737 | " 0 | \n",
738 | " 0 | \n",
739 | " 1 | \n",
740 | "
\n",
741 | " \n",
742 | " 2 | \n",
743 | " 2 | \n",
744 | " 48.0 | \n",
745 | " empresario | \n",
746 | " 20787.690 | \n",
747 | " 8.0 | \n",
748 | " 6.0 | \n",
749 | " 14.0 | \n",
750 | " 7.0 | \n",
751 | " 24.0 | \n",
752 | " 14.0 | \n",
753 | " ... | \n",
754 | " 34.235853 | \n",
755 | " 215.0 | \n",
756 | " 0.00000 | \n",
757 | " baixo_gasto_pagamento_alto | \n",
758 | " 345.081577 | \n",
759 | " 0 | \n",
760 | " 1 | \n",
761 | " 0 | \n",
762 | " 1 | \n",
763 | " 0 | \n",
764 | "
\n",
765 | " \n",
766 | "
\n",
767 | "
3 rows × 23 columns
\n",
768 | "
"
769 | ],
770 | "text/plain": [
771 | " mes idade profissao salario_anual num_contas num_cartoes \\\n",
772 | "0 1 31.0 empresario 19300.340 6.0 7.0 \n",
773 | "1 4 32.0 advogado 12600.445 5.0 5.0 \n",
774 | "2 2 48.0 empresario 20787.690 8.0 6.0 \n",
775 | "\n",
776 | " juros_emprestimo num_emprestimos dias_atraso num_pagamentos_atrasados \\\n",
777 | "0 17.0 5.0 52.0 19.0 \n",
778 | "1 10.0 3.0 25.0 18.0 \n",
779 | "2 14.0 7.0 24.0 14.0 \n",
780 | "\n",
781 | " ... taxa_uso_credito idade_historico_credito investimento_mensal \\\n",
782 | "0 ... 29.934186 218.0 44.50951 \n",
783 | "1 ... 28.819407 12.0 0.00000 \n",
784 | "2 ... 34.235853 215.0 0.00000 \n",
785 | "\n",
786 | " comportamento_pagamento saldo_final_mes emprestimo_carro \\\n",
787 | "0 baixo_gasto_pagamento_baixo 312.487689 1 \n",
788 | "1 baixo_gasto_pagamento_medio 300.994163 0 \n",
789 | "2 baixo_gasto_pagamento_alto 345.081577 0 \n",
790 | "\n",
791 | " emprestimo_casa emprestimo_pessoal emprestimo_credito \\\n",
792 | "0 1 0 0 \n",
793 | "1 0 0 0 \n",
794 | "2 1 0 1 \n",
795 | "\n",
796 | " emprestimo_estudantil \n",
797 | "0 0 \n",
798 | "1 1 \n",
799 | "2 0 \n",
800 | "\n",
801 | "[3 rows x 23 columns]"
802 | ]
803 | },
804 | "metadata": {},
805 | "output_type": "display_data"
806 | },
807 | {
808 | "name": "stdout",
809 | "output_type": "stream",
810 | "text": [
811 | "['Poor' 'Good' 'Standard']\n"
812 | ]
813 | }
814 | ],
815 | "source": [
816 | "# fazendo novas previsões\n",
817 | "novos_clientes = pd.read_csv(\"novos_clientes.csv\")\n",
818 | "display(novos_clientes)\n",
819 | "for coluna in novos_clientes.columns:\n",
820 | " if novos_clientes[coluna].dtype == \"object\" and coluna != \"score_credito\":\n",
821 | " novos_clientes[coluna] = codificador.fit_transform(novos_clientes[coluna])\n",
822 | "\n",
823 | "previsoes = modelo_arvore.predict(novos_clientes)\n",
824 | "print(previsoes)"
825 | ]
826 | },
827 | {
828 | "cell_type": "code",
829 | "execution_count": 18,
830 | "metadata": {},
831 | "outputs": [
832 | {
833 | "name": "stdout",
834 | "output_type": "stream",
835 | "text": [
836 | " 0\n",
837 | "mes 3.983256\n",
838 | "idade 4.285039\n",
839 | "profissao 3.271311\n",
840 | "salario_anual 5.025718\n",
841 | "num_contas 3.637851\n",
842 | "num_cartoes 4.441896\n",
843 | "juros_emprestimo 8.571290\n",
844 | "num_emprestimos 2.769545\n",
845 | "dias_atraso 6.743373\n",
846 | "num_pagamentos_atrasados 4.458836\n",
847 | "num_verificacoes_credito 5.090539\n",
848 | "mix_credito 8.224462\n",
849 | "divida_total 10.409323\n",
850 | "taxa_uso_credito 5.084289\n",
851 | "idade_historico_credito 7.750032\n",
852 | "investimento_mensal 4.857330\n",
853 | "comportamento_pagamento 2.358480\n",
854 | "saldo_final_mes 5.510073\n",
855 | "emprestimo_carro 0.688694\n",
856 | "emprestimo_casa 0.734250\n",
857 | "emprestimo_pessoal 0.712559\n",
858 | "emprestimo_credito 0.699792\n",
859 | "emprestimo_estudantil 0.692062\n"
860 | ]
861 | }
862 | ],
863 | "source": [
864 | "# quais as caracteristicas mais importantes para definir o score de credito?\n",
865 | "colunas = list(x_teste.columns)\n",
866 | "importancia = pd.DataFrame(index=colunas, data=modelo_arvore.feature_importances_)\n",
867 | "importancia = importancia * 100\n",
868 | "print(importancia)"
869 | ]
870 | }
871 | ],
872 | "metadata": {
873 | "kernelspec": {
874 | "display_name": "Python 3",
875 | "language": "python",
876 | "name": "python3"
877 | },
878 | "language_info": {
879 | "codemirror_mode": {
880 | "name": "ipython",
881 | "version": 3
882 | },
883 | "file_extension": ".py",
884 | "mimetype": "text/x-python",
885 | "name": "python",
886 | "nbconvert_exporter": "python",
887 | "pygments_lexer": "ipython3",
888 | "version": "3.10.2"
889 | },
890 | "orig_nbformat": 4
891 | },
892 | "nbformat": 4,
893 | "nbformat_minor": 2
894 | }
895 |
--------------------------------------------------------------------------------
/Python IA/novos_clientes.csv:
--------------------------------------------------------------------------------
1 | mes,idade,profissao,salario_anual,num_contas,num_cartoes,juros_emprestimo,num_emprestimos,dias_atraso,num_pagamentos_atrasados,num_verificacoes_credito,mix_credito,divida_total,taxa_uso_credito,idade_historico_credito,investimento_mensal,comportamento_pagamento,saldo_final_mes,emprestimo_carro,emprestimo_casa,emprestimo_pessoal,emprestimo_credito,emprestimo_estudantil
2 | 1,31.0,empresario,19300.34,6.0,7.0,17.0,5.0,52.0,19.0,7.0,Ruim,2430.21,29.934185732751413,218.0,44.50950984607408,baixo_gasto_pagamento_baixo,312.4876885895601,1,1,0,0,0
3 | 4,32.0,advogado,12600.445,5.0,5.0,10.0,3.0,25.0,18.0,7.0,Normal,569.8,28.819407058304,12.0,0.0,baixo_gasto_pagamento_medio,300.9941628933122,0,0,0,0,1
4 | 2,48.0,empresario,20787.69,8.0,6.0,14.0,7.0,24.0,14.0,3.0,Normal,614.6,34.235852681958825,215.0,0,baixo_gasto_pagamento_alto,345.0815769711927,0,1,0,1,0
--------------------------------------------------------------------------------
/Python PowerUp/codigo.py:
--------------------------------------------------------------------------------
1 | # Passo a passo do projeto
2 | # Passo 1: Entrar no sistema da empresa
3 | # https://dlp.hashtagtreinamentos.com/python/intensivao/login
4 |
5 | import pyautogui
6 | import time
7 |
8 | # pyautogui.write -> escrever um texto
9 | # pyautogui.press -> apertar 1 tecla
10 | # pyautogui.click -> clicar em algum lugar da tela
11 | # pyautogui.hotkey -> combinação de teclas
12 | pyautogui.PAUSE = 1
13 |
14 | # abrir o navegador (chrome)
15 | pyautogui.press("win")
16 | pyautogui.write("chrome")
17 | pyautogui.press("enter")
18 | time.sleep(10)
19 |
20 | # entrar no link
21 | pyautogui.write("https://dlp.hashtagtreinamentos.com/python/intensivao/login")
22 | pyautogui.press("enter")
23 | time.sleep(10)
24 |
25 | # Passo 2: Fazer login
26 | # selecionar o campo de email
27 | pyautogui.click(x=422, y=382)
28 | # escrever o seu email
29 | pyautogui.write("paulo@gmail.com")
30 | pyautogui.press("tab") # passando pro próximo campo
31 | pyautogui.write("passwd")
32 | pyautogui.click(x=670, y=544) # clique no botao de login
33 | time.sleep(10)
34 | pyautogui.press("enter")
35 |
36 | # Passo 3: Importar a base de produtos pra cadastrar
37 | import pandas as pd
38 |
39 | tabela = pd.read_csv("produtos.csv")
40 |
41 | # print(tabela)
42 |
43 | # Passo 4: Cadastrar um produto
44 | for linha in tabela.index:
45 | # clicar no campo de código
46 | pyautogui.click(x=410, y=259)
47 | # pegar da tabela o valor do campo que a gente quer preencher
48 | codigo = tabela.loc[linha, "codigo"]
49 | # preencher o campo
50 | pyautogui.write(str(codigo))
51 | # passar para o proximo campo
52 | pyautogui.press("tab")
53 | # preencher o campo
54 | pyautogui.write(str(tabela.loc[linha, "marca"]))
55 | pyautogui.press("tab")
56 | pyautogui.write(str(tabela.loc[linha, "tipo"]))
57 | pyautogui.press("tab")
58 | pyautogui.write(str(tabela.loc[linha, "categoria"]))
59 | pyautogui.press("tab")
60 | pyautogui.write(str(tabela.loc[linha, "preco_unitario"]))
61 | pyautogui.press("tab")
62 | pyautogui.write(str(tabela.loc[linha, "custo"]))
63 | pyautogui.press("tab")
64 | obs = tabela.loc[linha, "obs"]
65 | if not pd.isna(obs):
66 | pyautogui.write(str(tabela.loc[linha, "obs"]))
67 | pyautogui.press("tab")
68 | pyautogui.press("enter") # cadastra o produto (botao enviar)
69 | # dar scroll de tudo pra cima
70 | pyautogui.scroll(5000)
71 | # Passo 5: Repetir o processo de cadastro até o fim
--------------------------------------------------------------------------------
/Python PowerUp/pegar_posicao.py:
--------------------------------------------------------------------------------
1 | import time
2 | import pyautogui
3 |
4 | time.sleep(5)
5 | print(pyautogui.position())
6 |
7 | pyautogui.scroll(200)
--------------------------------------------------------------------------------
/Python PowerUp/produtos.csv:
--------------------------------------------------------------------------------
1 | codigo,marca,tipo,categoria,preco_unitario,custo,obs
2 | MOLO000251,Logitech,Mouse,1,25.95,6.50,
3 | MOLO000192,Logitech,Mouse,2,19.95,5.00,
4 | CAHA000251,Hashtag,Camisa,1,25.00,11.00,
5 | CAHA000252,Hashtag,Camisa,2,25.00,11.00,Conferir estoque
6 | MOMU000111,Multilaser,Mouse,1,11.99,3.40,
7 | BOHA000251,Hashtag,Bone,1,25.00,11.00,
8 | BOHA000252,Hashtag,Bone,2,25.00,11.00,
9 | CAHA000273,Hashtag,Camisa,3,27.50,12.40,Troca de fornecedor
10 | CAHA000274,Hashtag,Camisa,4,27.50,12.40,
11 | CAHA000275,Hashtag,Camisa,5,27.50,12.40,
12 | TELG000821,LG,Televisao,1,820.00,172.20,
13 | TELG000252,LG,Televisao,2,250.00,62.50,
14 | TELG000373,LG,Televisao,3,378.00,83.20,
15 | TELG000524,LG,Televisao,4,520.00,145.60,
16 | TESA000125,Samsung,Televisao,5,1260.00,378.00,
17 | TESA000346,Samsung,Televisao,6,340.00,71.40,
18 | TESA000747,Samsung,Televisao,7,740.00,214.60,
19 | TESA000108,Samsung,Televisao,8,10000.00,3000.00,
20 | TESA000729,Samsung,Televisao,9,720.00,201.60,
21 | TESA0002010,Samsung,Televisao,10,2000.00,440.00,
22 | TEAO0002511,AOC,Televisao,11,250.00,62.50,
23 | TEAO0003612,AOC,Televisao,12,360.00,97.20,
24 | TETO0006413,Toshiba,Televisao,13,640.00,185.60,
25 | TETO0008014,Toshiba,Televisao,14,800.00,192.00,
26 | TETO0006015,Toshiba,Televisao,15,600.00,144.00,
27 | TESE0005016,SEMP,Televisao,16,500.00,125.00,
28 | TESE0003817,SEMP,Televisao,17,380.00,91.20,
29 | TESE0005018,SEMP,Televisao,18,500.00,140.00,
30 | TEPH0004019,Philco,Televisao,19,400.00,120.00,
31 | TEPH0002720,Philco,Televisao,20,279.80,56.00,
32 | TETC0001521,TCL,Televisao,21,158.00,36.30,
33 | TETC0002222,TCL,Televisao,22,220.00,59.40,
34 | REGA000441,Garmin,Relogio,1,440.00,96.80,
35 | REGA000722,Garmin,Relogio,2,720.00,187.20,
36 | REXI000463,Xiaomi,Relogio,3,46.40,11.60,
37 | REXI000744,Xiaomi,Relogio,4,74.00,15.50,
38 | REXI000365,Xiaomi,Relogio,5,36.00,7.90,
39 | REXI000116,Xiaomi,Relogio,6,114.00,23.90,
40 | RESA000287,Samsung,Relogio,7,280.00,72.80,
41 | RESA000298,Samsung,Relogio,8,290.00,72.50,
42 | RESA000389,Samsung,Relogio,9,380.00,110.20,
43 | RESA0003210,Samsung,Relogio,10,320.00,83.20,
44 | CEAP000101,Apple,Celular,1,1099.00,329.70,
45 | CEAP000112,Apple,Celular,2,1199.00,287.80,
46 | CEAP000133,Apple,Celular,3,1399.00,377.70,
47 | CEAP000154,Apple,Celular,4,1599.00,367.80,
48 | CEAP000995,Apple,Celular,5,999.00,269.70,
49 | CEAP000106,Apple,Celular,6,1099.00,329.70,
50 | CEAP000127,Apple,Celular,7,1299.00,298.80,
51 | CEAP000148,Apple,Celular,8,1499.00,329.80,
52 | CEAP000799,Apple,Celular,9,799.00,215.70,
53 | CEAP0008910,Apple,Celular,10,899.00,197.80,
54 | CEAP0001011,Apple,Celular,11,1099.00,329.70,
55 | CEAP0006912,Apple,Celular,12,699.00,167.80,
56 | CEAP0007913,Apple,Celular,13,799.00,215.70,
57 | CEAP0009914,Apple,Celular,14,999.00,269.70,
58 | CEAP0004215,Apple,Celular,15,429.00,115.80,
59 | CEAP0004716,Apple,Celular,16,479.00,138.90,
60 | CEAP0005717,Apple,Celular,17,579.00,115.80,
61 | CEAP0009418,Apple,Celular,18,949.00,256.20,
62 | CEAP0001019,Apple,Celular,19,1049.00,304.20,
63 | CEAP0001220,Apple,Celular,20,1249.00,362.20,
64 | CEAP0001421,Apple,Celular,21,1449.00,347.80,
65 | CEAP0008422,Apple,Celular,22,849.00,178.30,
66 | CEAP0009423,Apple,Celular,23,949.00,256.20,
67 | CEAP0001124,Apple,Celular,24,1149.00,252.80,
68 | CEAP0001325,Apple,Celular,25,1349.00,296.80,
69 | CEAP0006426,Apple,Celular,26,649.00,181.70,
70 | CEAP0007427,Apple,Celular,27,749.00,157.30,
71 | CEAP0009428,Apple,Celular,28,949.00,256.20,
72 | CEAP0005429,Apple,Celular,29,549.00,115.30,
73 | CEAP0006430,Apple,Celular,30,649.00,181.70,
74 | CEAP0008431,Apple,Celular,31,849.00,178.30,
75 | CEAP0005932,Apple,Celular,32,599.00,137.80,
76 | CEAP0006933,Apple,Celular,33,699.00,181.70,
77 | CEAP0005434,Apple,Celular,34,549.00,120.80,
78 | CEAP0006435,Apple,Celular,35,649.00,142.80,
79 | CEAP0004436,Apple,Celular,36,449.00,103.30,
80 | CEAP0004937,Apple,Celular,37,499.00,129.70,
81 | CEAP0004938,Apple,Celular,38,499.00,124.80,
82 | CEAP0005439,Apple,Celular,39,549.00,142.70,
83 | CESA0002040,Samsung,Celular,40,200.00,48.00,
84 | NODE000441,Dell,Notebook,1,448.00,134.40,
85 | NODE000512,Dell,Notebook,2,512.00,107.50,
86 | NOLE000183,Lenovo,Notebook,3,188.61,41.50,
87 | NOAC000224,Acer,Notebook,4,227.00,65.80,
88 | NOHP000215,HP,Notebook,5,214.00,49.20,
89 | NOMI000426,Microsoft,Notebook,6,429.00,90.10,
90 | NOHP000797,HP,Notebook,7,799.00,199.80,
91 | NOHP000238,HP,Notebook,8,239.88,64.80,
92 | NOLE000989,Lenovo,Notebook,9,989.99,217.80,
93 | NOHP0005210,HP,Notebook,10,529.00,111.10,
94 | NOSA0001311,Samsung,Notebook,11,1349.99,270.00,
95 | NOHP0003512,HP,Notebook,12,359.00,100.50,
96 | NOAS0006213,Asus,Notebook,13,629.99,189.00,
97 | RESA000501,Samsung,Relogio,1,50.00,14.50,
98 | RESA000602,Samsung,Relogio,2,60.00,15.60,
99 | REAP000783,Apple,Relogio,3,789.00,228.80,
100 | CESA000301,Samsung,Celular,1,300.00,66.00,
101 | CESA000402,Samsung,Celular,2,400.00,96.00,
102 | CESA000103,Samsung,Celular,3,100.00,28.00,
103 | CESA000154,Samsung,Celular,4,150.00,31.50,
104 | CESA000205,Samsung,Celular,5,200.00,56.00,
105 | CESA000276,Samsung,Celular,6,270.00,81.00,
106 | CESA000107,Samsung,Celular,7,100.00,27.00,
107 | CESA000808,Samsung,Celular,8,800.00,176.00,
108 | CESA000909,Samsung,Celular,9,900.00,198.00,
109 | CESA0001210,Samsung,Celular,10,120.00,31.20,
110 | CESA0001511,Samsung,Celular,11,150.00,26.97,
111 | CESA0002012,Samsung,Celular,12,200.00,92.81,
112 | CEXI0002513,Xiaomi,Celular,13,257.00,74.50,
113 | CEXI0003114,Xiaomi,Celular,14,317.00,133.30,
114 | CEXI0001515,Xiaomi,Celular,15,159.00,42.90,
115 | CEXI0002116,Xiaomi,Celular,16,219.00,56.90,
116 | CEXI0002417,Xiaomi,Celular,17,249.00,96.80,
117 | CEXI0003218,Xiaomi,Celular,18,329.00,75.70,
118 | CEXI0002919,Xiaomi,Celular,19,299.00,38.96,
119 | CEXI0002420,Xiaomi,Celular,20,249.00,104.80,
120 | CEXI0002521,Xiaomi,Celular,21,250.00,145.28,
121 | CEXI0002722,Xiaomi,Celular,22,279.00,49.98,
122 | CEXI0003523,Xiaomi,Celular,23,350.00,122.27,
123 | CEMO0006924,Motorola,Celular,24,69.00,18.60,
124 | CEMO0009925,Motorola,Celular,25,99.00,25.70,
125 | NOLE000741,Lenovo,Notebook,1,749.00,224.70,
126 | NODE000492,Dell,Notebook,2,498.00,109.60,
127 | NOAS000153,Asus,Notebook,3,1599.00,415.70,
128 | NOHP000594,HP,Notebook,4,599.00,131.80,
129 | NOAC000525,Acer,Notebook,5,529.99,143.10,
130 | NOAC000216,Acer,Notebook,6,2199.00,483.80,
131 | NOAC000127,Acer,Notebook,7,1299.00,285.80,
132 | NODE000608,Dell,Notebook,8,600.00,132.00,
133 | NODE000749,Dell,Notebook,9,740.00,170.20,
134 | NOHP0007510,HP,Notebook,10,750.00,210.00,
135 | NOLE0009911,Lenovo,Notebook,11,999.00,259.70,
136 | CAHA000271,Hashtag,Camisa,1,27.50,12.40,
137 | TELO000131,Logitech,Teclado,1,138.00,37.30,
138 | TEDE000362,Dell,Teclado,2,36.00,8.30,
139 | TELO000443,Logitech,Teclado,3,44.00,11.00,
140 | TEDE000484,Dell,Teclado,4,48.00,11.50,
141 | MOLG000121,LG,Monitor,1,129.00,34.80,
142 | MOSA000152,Samsung,Monitor,2,159.99,41.60,
143 | MOLG000173,LG,Monitor,3,1796.99,467.20,
144 | MOHA000251,Hashtag,Mochila,1,25.00,11.00,
145 | MOHA000252,Hashtag,Mochila,2,25.00,11.00,
146 | CAHA000253,Hashtag,Camisa,3,25.00,11.00,
147 | CAHA000254,Hashtag,Camisa,4,25.00,11.00,
148 | CHHA000275,Hashtag,Chaveiro,5,27.00,12.40,
149 | CAHA000276,Hashtag,Camisa,6,27.00,12.40,
150 | CAHA000277,Hashtag,Camisa,7,27.00,12.40,
151 | CAHA000278,Hashtag,Camisa,8,27.00,12.40,
152 | CAHA0009.9,Hashtag,Camisa,9,9.90,4.50,
153 | CAHA0004510,Hashtag,Casaco,10,45.90,19.70,
154 | CAHA0004511,Hashtag,Casaco,11,45.90,19.70,
155 | CAHA0004512,Hashtag,Casaco,12,45.90,19.70,
156 | CAHA0004513,Hashtag,Casaco,13,45.90,19.70,
157 | CAHA0004814,Hashtag,Casaco,14,48.90,20.00,
158 | CAHA0004815,Hashtag,Casaco,15,48.90,20.00,
159 | CAHA0004816,Hashtag,Casaco,16,48.90,20.00,
160 | CAHA0004817,Hashtag,Casaco,17,48.90,20.00,
161 | CAHA0004518,Hashtag,Casaco,18,45.90,19.70,
162 | CAHA0004519,Hashtag,Casaco,19,45.90,19.70,
163 | CAHA0004520,Hashtag,Casaco,20,45.90,19.70,
164 | CAHA0004521,Hashtag,Casaco,21,45.90,19.70,
165 | MOMU0004.1,Multilaser,Mouse,1,4.99,1.20,
166 | MOMU0003.2,Multilaser,Mouse,2,3.99,1.30,
167 | MOLO0006.3,Logitech,Mouse,3,6.99,2.30,
168 | TELG000111,LG,Teclado,1,110.00,29.70,
169 | CAHA000481,Hashtag,Casaco,1,48.90,20.00,
170 | CAHA000482,Hashtag,Casaco,2,48.90,20.00,
171 | MOSP000221,Spectre,Monitor,1,229.99,59.80,
172 | MOSP000132,Spectre,Monitor,2,132.72,38.50,
173 | MOSP0007.3,Spectre,Mouse,3,7.99,2.00,
174 | TELG000201,LG,Teclado,1,20.00,4.60,
175 | MOLG000782,LG,Monitor,2,789.99,221.20,
176 | BEHA000481,Hashtag,Bermuda,1,48.90,20.00,
177 | BEHA000482,Hashtag,Bermuda,2,48.90,20.00,
178 | CAHA000123,Hashtag,Casaco,3,12.90,6.10,
179 | CAHA000124,Hashtag,Casaco,4,12.90,6.10,
180 | NOAC000791,Acer,Notebook,1,799.00,159.80,
181 | NOMU000192,Multilaser,Notebook,2,199.00,41.80,
182 | NOHP000943,HP,Notebook,3,949.00,237.30,
183 | NOAP000144,Apple,Notebook,4,1499.00,419.70,
184 | NOAP000255,Apple,Notebook,5,2549.00,688.20,
185 | NOAP000646,Apple,Notebook,6,6400.00,1280.00,
186 | NOAP000247,Apple,Notebook,7,2499.00,599.80,
187 | NOAP000128,Apple,Notebook,8,1299.00,337.70,
188 | NOAP000599,Apple,Notebook,9,5999.00,1679.70,
189 | TETC000121,TCL,Televisao,1,1200.00,240.00,
190 | TEVI000152,Vizio,Televisao,2,159.00,36.60,
191 | TEVI000443,Vizio,Televisao,3,440.00,110.00,
192 | TEVI000244,Vizio,Televisao,4,240.00,69.60,
193 | TEIN000255,Insignia,Televisao,5,250.00,65.00,
194 | TEIN000346,Insignia,Televisao,6,343.00,82.30,
195 | TEIN000187,Insignia,Televisao,7,189.99,45.60,
196 | TELG000398,LG,Televisao,8,390.00,93.60,
197 | TELG000559,LG,Televisao,9,550.00,148.50,
198 | TESO0001210,Sony,Televisao,10,1200.00,240.00,
199 | TESO0003311,Sony,Televisao,11,3300.00,726.00,
200 | TESO0006012,Sony,Televisao,12,600.00,138.00,
201 | TESO0005913,Sony,Televisao,13,599.00,131.80,
202 | REAP000101,Apple,Relogio,1,1080.00,280.80,
203 | REAP000702,Apple,Relogio,2,700.00,182.00,
204 | REAP000643,Apple,Relogio,3,640.00,179.20,
205 | REAP000504,Apple,Relogio,4,500.00,110.00,
206 | REAP000485,Apple,Relogio,5,480.00,120.00,
207 | REAP000446,Apple,Relogio,6,440.00,118.80,
208 | REAP000327,Apple,Relogio,7,320.00,92.80,
209 | REGA000928,Garmin,Relogio,8,920.00,239.20,
210 | REGA000809,Garmin,Relogio,9,800.00,160.00,
211 | RESA0002410,Samsung,Relogio,10,240.00,55.20,
212 | CaCA000581,Canon,Camera,1,589.00,176.70,
213 | CaCA000502,Canon,Camera,2,509.00,112.00,
214 | CaCA000483,Canon,Camera,3,489.00,107.60,
215 | CaCA000894,Canon,Camera,4,899.00,260.70,
216 | MOLO000151,Logitech,Mouse,1,15.99,5.10,
217 | TELG000101,LG,Teclado,1,10.00,2.50,
218 | MOSA000191,Samsung,Monitor,1,199.99,52.00,
219 | CaNI000131,Nikon,Camera,1,1396.00,349.00,
220 | CaNI000272,Nikon,Camera,2,2796.95,643.30,
221 | CaNI000793,Nikon,Camera,3,796.95,239.10,
222 | CaNI000214,Nikon,Camera,4,2196.95,527.30,
223 | MODE000191,Dell,Mouse,1,19.99,5.80,
224 | TEMU000211,Multilaser,Teclado,1,21.99,4.40,
225 | MOSA000121,Samsung,Monitor,1,129.99,45.50,
226 | MODE000141,Dell,Mouse,1,14.99,4.60,
227 | TEMU0008.1,Multilaser,Teclado,1,8.99,1.80,
228 | MOSA000171,Samsung,Monitor,1,179.99,46.80,
229 | MODE000281,Dell,Mouse,1,28.99,8.70,
230 | CaNI000251,Nikon,Camera,1,2596.95,811.10,
231 | CaSO000212,Sony,Camera,2,2198.00,461.60,
232 | CaSO000153,Sony,Camera,3,1598.00,479.40,
233 | CaSO000124,Sony,Camera,4,1298.00,298.50,
234 | CaSO000165,Sony,Camera,5,1698.00,441.50,
235 | CaSO000996,Sony,Camera,6,998.00,299.40,
236 | CaSO000347,Sony,Camera,7,3498.00,874.50,
237 | ACAP000191,Apple,Acessorios,1,19.00,3.80,
238 | ACAP000222,Apple,Acessorios,2,22.00,4.40,
239 | ACAP000293,Apple,Acessorios,3,29.00,5.80,
240 | ACAP000194,Apple,Acessorios,4,19.00,3.80,
241 | ACAP000295,Apple,Acessorios,5,29.00,5.80,
242 | ACSA000196,Samsung,Acessorios,6,19.99,6.50,
243 | ACSA000247,Samsung,Acessorios,7,24.99,8.20,
244 | ACSA000298,Samsung,Acessorios,8,29.99,8.90,
245 | ACSA0008.9,Samsung,Acessorios,9,8.90,2.40,
246 | ACSA0001410,Samsung,Acessorios,10,14.90,3.20,
247 | ACSA0001211,Samsung,Acessorios,11,12.50,2.80,
248 | NOAP000501,Apple,Notebook,1,5099.00,1070.80,
249 | NODE000502,Dell,Notebook,2,5099.00,1478.70,
250 | NOAC000123,Acer,Notebook,3,1249.00,374.70,
251 | NODE000544,Dell,Notebook,4,549.00,137.30,
252 | NOSA000395,Samsung,Notebook,5,399.00,103.70,
253 | NOLE000346,Lenovo,Notebook,6,349.00,101.20,
254 | NOSA000547,Samsung,Notebook,7,549.00,115.30,
255 | NOLE000298,Lenovo,Notebook,8,299.00,65.80,
256 | NOMI000999,Microsoft,Notebook,9,999.00,239.80,
257 | NOMI0002110,Microsoft,Notebook,10,2199.00,637.70,
258 | NOMI0001911,Microsoft,Notebook,11,1999.00,419.80,
259 | NOMI0003612,Microsoft,Notebook,12,3600.00,972.00,
260 | NOLE0009913,Lenovo,Notebook,13,999.00,269.70,
261 | NOAC0007014,Acer,Notebook,14,700.00,154.00,
262 | NOCO0003815,Compaq,Notebook,15,380.00,114.00,
263 | NOPO0003416,Positivo,Notebook,16,349.00,104.70,
264 | NOPO0003217,Positivo,Notebook,17,320.00,80.00,
265 | NOVA0003118,Vaio,Notebook,18,319.00,86.10,
266 | NOHP0004919,HP,Notebook,19,4999.00,999.80,
267 | NOAS0001920,Asus,Notebook,20,1999.00,539.70,
268 | CEMO000101,Motorola,Celular,1,100.00,24.00,
269 | CEMO000152,Motorola,Celular,2,150.00,45.00,
270 | CEMO000893,Motorola,Celular,3,89.00,26.70,
271 | CEMO000114,Motorola,Celular,4,119.00,29.80,
272 | CEMO000695,Motorola,Celular,5,69.00,17.30,
273 | CEMO000996,Motorola,Celular,6,99.00,28.70,
274 | CEMO000197,Motorola,Celular,7,199.00,39.80,
275 | NOAS000691,Asus,Notebook,1,6999.00,1399.80,
276 | NOAS000702,Asus,Notebook,2,700.00,161.00,
277 | NOLG000133,LG,Notebook,3,1393.00,334.30,
278 | NOHP000824,HP,Notebook,4,820.00,164.00,
279 | NOHP000165,HP,Notebook,5,1600.00,368.00,
280 | NODE000126,Dell,Notebook,6,1220.00,244.00,
281 | NOLE000147,Lenovo,Notebook,7,1487.00,386.60,
282 | NOLE000248,Lenovo,Notebook,8,249.00,49.80,
283 | NORA000399,Razer,Notebook,9,3999.00,1079.70,
284 | NORA0001110,Razer,Notebook,10,1199.00,299.80,
285 | NORA0001911,Razer,Notebook,11,1999.00,439.80,
286 | NORA0007912,Razer,Notebook,12,7999.00,2159.70,
287 | NOLE0001713,Lenovo,Notebook,13,1750.00,455.00,
288 | NODE0001614,Dell,Notebook,14,1600.00,352.00,
289 | ACAP000391,Apple,Acessorios,1,39.99,11.90,
290 | ACAP000192,Apple,Acessorios,2,19.00,3.80,
291 | ACSA0009.3,Samsung,Acessorios,3,9.55,2.10,
292 | CEMO000271,Motorola,Celular,1,279.00,72.50,
293 | FOMO000152,Motorola,Fone,2,150.00,33.00,
294 | CEMO000223,Motorola,Celular,3,229.00,55.00,
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Curso de Python
2 | Repositório criado para guardar os códigos desenvolvidos no curso "Jornada Python", da Hashtag Treinamentos
3 |
4 | ## Certificado de Conclusão
5 |
6 | 
7 |
--------------------------------------------------------------------------------