├── Modulo2 ├── Array.py ├── CriarYAML.py ├── Exemplo1Plotagem.py ├── Exemplo2Plotagem.py ├── ExemploDataFrame.py ├── ExemploSeriePanda.py ├── ExercicioAplicacaoPanda.py ├── Exercícios │ ├── ExercicioAplicacao.py │ ├── ExercicioGraficos.py │ └── Investimentos.py ├── TiposGraficosMatplotlib.py ├── TiposGraficosSeaborn.py ├── dados_funcionarios.csv ├── dados_funcionarios.yaml ├── filmes.csv ├── igm_modificado.csv ├── imagem.jpg ├── imagem.png ├── imagem_conversao.jpg └── imagem_conversao.png ├── Modulo3 ├── PowerBI.sql └── exemplo1.pbix ├── Módulo 1 ├── Conjuntos.py ├── Dicionarios.py ├── Estatisticas.py ├── Exercícios │ ├── Avancados │ │ └── Exercicios.py │ └── Simples │ │ ├── Exercicios.py │ │ ├── Listas.py │ │ └── Random.py ├── Funcoes.py ├── Functions.py ├── Graficos.py ├── Listas.py ├── Loops.py ├── Manipulacao.py ├── Modulos.py ├── Operacoes.py ├── OperacoesBasicas.py ├── PrimeiroPrograma.py ├── Strings.py ├── Tipos.py ├── Tuplas.py └── Variáveis.py ├── commit.md ├── dados.yaml └── dados_funcionarios.csv /Modulo2/Array.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | array_vazio = np.empty((3, 3)) # matriz 3x3 vazia 4 | print(array_vazio) 5 | 6 | ones_array = np.ones((2, 2)) # matriz 2x2 preenchidas por 1 7 | print(ones_array) 8 | 9 | zeros_array = np.zeros((4, 4)) # matriz 4x4 preenchida por 0 10 | print(zeros_array) 11 | 12 | random_array = np.random.rand(3, 3) # criando uma matriz 3x3 com valores aleatórios 13 | print(random_array) 14 | 15 | my_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) 16 | print(my_array[1, 2]) # Seleciona o elemento na segunda linha e terceira coluna (6) 17 | 18 | max_value = np.max(my_array) 19 | min_value = np.min(my_array) 20 | print(f"Valor máximo: {max_value}, Valor mínimo: {min_value}") 21 | 22 | total_sum = np.sum(my_array) # soma tudo 23 | print(f"Soma total: {total_sum}") 24 | 25 | squeezed_array = np.squeeze(my_array) # remove entradas unidimensionais 26 | print(squeezed_array) 27 | 28 | # adição de matrizs 29 | matriz1 = np.array([[1, 2], [3, 4]]) 30 | matriz2 = np.array([[5, 6], [7, 8]]) 31 | resultado = matriz1 + matriz2 32 | print("Resultado da adição de matrizes:") 33 | print(resultado) 34 | 35 | # subtração de matrizes 36 | matriz1 = np.array([[1, 2], [3, 4]]) 37 | matriz2 = np.array([[5, 6], [7, 8]]) 38 | resultado = matriz1 - matriz2 39 | print("Resultado da subtração de matrizes:") 40 | print(resultado) 41 | 42 | 43 | # multiplicação de matrizes 44 | matriz1 = np.array([[1, 2], [3, 4]]) 45 | matriz2 = np.array([[5, 6], [7, 8]]) 46 | resultado = np.dot(matriz1, matriz2) 47 | # Ou, alternativamente: resultado = matriz1 @ matriz2 48 | print("Resultado da multiplicação de matrizes:") 49 | print(resultado) 50 | 51 | diagonal_sum = np.trace(my_array) # soma os elementos das diagonais da matriz 52 | print(f"Soma diagonal: {diagonal_sum}") 53 | 54 | matriz = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) 55 | num_linhas, num_colunas = np.shape(matriz) 56 | print(f"Número de linhas: {num_linhas}") 57 | print(f"Número de colunas: {num_colunas}") 58 | 59 | matriz = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) 60 | linha_especifica = np.array([4, 5, 6]) 61 | contem_linha = np.isin(matriz, linha_especifica).all(axis=1).any() 62 | print(f"Contém a linha específica? {contem_linha}") 63 | 64 | 65 | 66 | matriz = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # troca dois eixos da matriz 67 | matriz_transposta = np.transpose(matriz) 68 | # Ou, alternativamente: matriz_transposta = matriz.T 69 | print("Matriz original:") 70 | print(matriz) 71 | print("Matriz transposta:") 72 | print(matriz_transposta) 73 | -------------------------------------------------------------------------------- /Modulo2/CriarYAML.py: -------------------------------------------------------------------------------- 1 | import yaml 2 | 3 | 4 | # Dados iniciais 5 | dados_iniciais = { 6 | 'alunos': ['João', 'Maria', 'Pedro', 'Ana', 'Carla'], 7 | 'notas': [8, 7, 9, 6, 8], 8 | 'idade': [20, 22, 21, 19, 20], 9 | 'altura': [1.75, 1.65, 1.80, 1.70, 1.68] 10 | } 11 | 12 | 13 | # Expandir os dados para 100 registros 14 | dados_expandidos = { 15 | 'alunos': [], 16 | 'notas': [], 17 | 'idade': [], 18 | 'altura': [] 19 | } 20 | 21 | 22 | # Repetir os dados iniciais para criar 100 registros 23 | for i in range(100): 24 | for key, value in dados_iniciais.items(): 25 | dados_expandidos[key].append(value[i % len(value)]) 26 | 27 | 28 | # Salvar os dados expandidos em um arquivo YAML 29 | with open('dados.yaml', 'w') as file: 30 | yaml.dump(dados_expandidos, file) 31 | 32 | 33 | print("Arquivo YAML com dados expandidos criado com sucesso!") 34 | -------------------------------------------------------------------------------- /Modulo2/Exemplo1Plotagem.py: -------------------------------------------------------------------------------- 1 | # Importar bibliotecas necessárias 2 | import numpy as np # Importar a biblioteca NumPy 3 | import pandas as pd # Importar a biblioteca Pandas 4 | import matplotlib.pyplot as plt # Importar a biblioteca Matplotlib 5 | import seaborn as sns # Importar a biblioteca Seaborn 6 | 7 | 8 | # Gerar dados aleatórios 9 | np.random.seed(0) # Definir a semente do gerador de números aleatórios do NumPy 10 | x = np.random.randn(100) # Gerar 100 números aleatórios com distribuição normal (média 0 e desvio padrão 1) para o eixo x 11 | y = np.random.randn(100) # Gerar 100 números aleatórios com distribuição normal (média 0 e desvio padrão 1) para o eixo y 12 | 13 | 14 | # Criar DataFrame com os dados gerados 15 | df = pd.DataFrame({'X': x, 'Y': y}) # Criar um DataFrame do Pandas com duas colunas 'X' e 'Y' contendo os dados gerados 16 | 17 | 18 | # Plotar gráfico de dispersão com Matplotlib 19 | plt.figure(figsize=(8, 6)) # Criar uma figura com tamanho 8x6 polegadas 20 | plt.scatter(df['X'], df['Y'], color='blue', alpha=0.5) # Plotar um gráfico de dispersão com os dados do DataFrame 21 | plt.title('Gráfico de Dispersão - Matplotlib') # Definir o título do gráfico 22 | plt.xlabel('X') # Definir o rótulo do eixo x 23 | plt.ylabel('Y') # Definir o rótulo do eixo y 24 | plt.grid(True) # Habilitar a grade no gráfico 25 | plt.show() # Mostrar o gráfico 26 | 27 | 28 | # Plotar gráfico de dispersão com Seaborn 29 | plt.figure(figsize=(8, 6)) # Criar uma nova figura com tamanho 8x6 polegadas 30 | sns.scatterplot(data=df, x='X', y='Y', color='red', alpha=0.5) # Plotar um gráfico de dispersão com Seaborn usando os dados do DataFrame 31 | plt.title('Gráfico de Dispersão - Seaborn') # Definir o título do gráfico 32 | plt.xlabel('X') # Definir o rótulo do eixo x 33 | plt.ylabel('Y') # Definir o rótulo do eixo y 34 | plt.grid(True) # Habilitar a grade no gráfico 35 | plt.show() # Mostrar o gráfico 36 | 37 | -------------------------------------------------------------------------------- /Modulo2/Exemplo2Plotagem.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import matplotlib.pyplot as plt 3 | import seaborn as sns 4 | import yaml 5 | 6 | 7 | # Carregar dados do arquivo YAML 8 | with open('dados.yaml', 'r') as file: 9 | dados = yaml.safe_load(file) 10 | 11 | 12 | # Criar DataFrame com os dados 13 | df = pd.DataFrame(dados) 14 | 15 | 16 | # Plotar histograma da idade com Matplotlib 17 | plt.figure(figsize=(8, 6)) # Criar uma figura com tamanho específico 18 | plt.hist(df['idade'], bins=len(df['idade']), color='skyblue', edgecolor='black') # Plotar histograma 19 | plt.title('Histograma da Idade - Matplotlib') # Definir título do gráfico 20 | plt.xlabel('Idade') # Definir rótulo do eixo x 21 | plt.ylabel('Frequência') # Definir rótulo do eixo y 22 | plt.grid(True) # Habilitar grade no gráfico 23 | plt.show() # Mostrar o gráfico 24 | 25 | 26 | # Corrigir os valores na coluna 'alunos' para strings 27 | df['alunos'] = df['alunos'].apply(lambda x: x['nome']) 28 | 29 | 30 | # Plotar gráfico de barras das notas com Seaborn 31 | plt.figure(figsize=(10, 6)) # Criar uma figura com tamanho específico 32 | sns.barplot(data=df, x='alunos', y='notas', palette='pastel') # Plotar gráfico de barras com Seaborn 33 | plt.title('Gráfico de Barras das Notas - Seaborn') # Definir título do gráfico 34 | plt.xlabel('Alunos') # Definir rótulo do eixo x 35 | plt.ylabel('Notas') # Definir rótulo do eixo y 36 | plt.xticks(rotation=90) # Rotacionar os rótulos do eixo x para melhor visualização 37 | plt.grid(True) # Habilitar grade no gráfico 38 | plt.show() # Mostrar o gráfico 39 | 40 | 41 | # Plotar gráfico de dispersão da altura e idade com Matplotlib 42 | plt.figure(figsize=(8, 6)) # Criar uma figura com tamanho específico 43 | plt.scatter(df['altura'], df['idade'], color='green', alpha=0.5) # Plotar gráfico de dispersão 44 | plt.title('Gráfico de Dispersão da Altura e Idade - Matplotlib') # Definir título do gráfico 45 | plt.xlabel('Altura') # Definir rótulo do eixo x 46 | plt.ylabel('Idade') # Definir rótulo do eixo y 47 | plt.grid(True) # Habilitar grade no gráfico 48 | plt.show() # Mostrar o gráfico 49 | 50 | 51 | # Plotar gráfico de dispersão da altura e idade com Seaborn 52 | plt.figure(figsize=(8, 6)) # Criar uma figura com tamanho específico 53 | sns.scatterplot(data=df, x='altura', y='idade', color='purple', alpha=0.5) # Plotar gráfico de dispersão com Seaborn 54 | plt.title('Gráfico de Dispersão da Altura e Idade - Seaborn') # Definir título do gráfico 55 | plt.xlabel('Altura') # Definir rótulo do eixo x 56 | plt.ylabel('Idade') # Definir rótulo do eixo y 57 | plt.grid(True) # Habilitar grade no gráfico 58 | plt.show() # Mostrar o gráfico 59 | -------------------------------------------------------------------------------- /Modulo2/ExemploDataFrame.py: -------------------------------------------------------------------------------- 1 | import matplotlib.pyplot as plt 2 | import pandas as pd 3 | 4 | data = {'Nome': ['Alice', 'Bob', 'Charlie', 'Denis'], 5 | 'Idade': [25, 30, 35, 40], 6 | 'Cidade': ['A', 'B', 'C', 'D']} 7 | 8 | 9 | df = pd.DataFrame(data) 10 | 11 | # Acessando uma coluna por nome 12 | coluna_idade = df['Idade'] 13 | print(coluna_idade) 14 | 15 | 16 | # Selecionando linhas com base em uma condição 17 | linha_filtro = df[df['Idade'] > 30] 18 | print(linha_filtro) 19 | 20 | # Adicionando uma nova coluna 21 | df['Profissao'] = ['Engenheiro', 'Analista', 'Designer', 'Cirurgiao'] 22 | print(df) 23 | 24 | 25 | # Removendo uma coluna 26 | df_sem_cidade = df.drop('Cidade', axis=1) 27 | print(df_sem_cidade) 28 | 29 | 30 | # Gráfico de barras da idade por nome 31 | df.plot.bar(x='Nome', y='Idade') 32 | plt.show() 33 | -------------------------------------------------------------------------------- /Modulo2/ExemploSeriePanda.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | 3 | serie = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd']) 4 | 5 | 6 | # Acessando elementos por índice 7 | value_at_b = serie['b'] 8 | print(value_at_b) 9 | 10 | # Fatiando a série 11 | slice_of_series = serie[1:3] 12 | print(slice) 13 | 14 | # Operações matemáticas 15 | dobro = serie * 2 16 | print("Série multiplicada por 2:") 17 | print(dobro) 18 | 19 | # Filtrando dados 20 | maior_que_30 = serie[serie > 30] 21 | print("Elementos maiores que 30:") 22 | print(maior_que_30) 23 | 24 | # Operações estatísticas 25 | media = serie.mean() 26 | soma = serie.sum() 27 | print("Média:", media) 28 | print("Soma:", soma) 29 | -------------------------------------------------------------------------------- /Modulo2/ExercicioAplicacaoPanda.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import yaml 3 | import matplotlib.pyplot as plt 4 | 5 | # Carregar os dados dos funcionários a partir do arquivo YAML 6 | with open('Módulo 2/dados_funcionarios.yaml', 'r') as file: 7 | dados_yaml = yaml.safe_load(file) 8 | 9 | # Converter para DataFrame 10 | df = pd.DataFrame(dados_yaml['funcionarios']) 11 | 12 | # 1. Análise Exploratória 13 | print("1. Análise Exploratória:") 14 | print(df.head()) # Visualizar as primeiras linhas 15 | print("===========================") 16 | print(df.info()) # Informações sobre os tipos de dados e valores nulos 17 | print(df.describe()) # Estatísticas descritivas básicas 18 | 19 | 20 | # 2. Seleção e Filtragem de Dados 21 | print("2. Seleção e Filtragem de Dados:") 22 | funcionarios_acima_30 = df[df['Idade'] > 30] 23 | print("Funcionários com mais de 30 anos:") 24 | print(funcionarios_acima_30) 25 | 26 | 27 | funcionarios_salario_acima_4000 = df[df['Salario'] > 4000] 28 | print("\nFuncionários com salário acima de 4000:") 29 | print(funcionarios_salario_acima_4000) 30 | 31 | 32 | # 3. Manipulação de Dados 33 | print("\n3. Manipulação de Dados:") 34 | df['salario_ajustado'] = df['Salario'] * 1.10 # Aumento de 10% no salário 35 | print(df) 36 | 37 | # 4. Agregação de Dados 38 | print("\n4. Agregação de Dados:") 39 | salario_medio = df['Salario'].mean() 40 | print("Salário médio dos funcionários antes do ajuste:", salario_medio) 41 | 42 | 43 | print("\n4. Agregação de Dados:") 44 | salario_medio = df['Salario'].mean() 45 | print("Salário médio dos funcionários depois do ajuste:", salario_medio) 46 | 47 | 48 | idade_media = df['Idade'].mean() 49 | print("Idade média dos funcionários:", idade_media) 50 | 51 | 52 | # cria um Arquivo CSV com o dataFrame 53 | df.to_csv('dados_funcionarios.csv', index=False) 54 | 55 | # 5. Visualização de Dados 56 | print("\n5. Visualização de Dados:") 57 | plt.hist(df['Idade'], bins=10, color='skyblue', edgecolor='black') 58 | plt.xlabel('Idade') 59 | plt.ylabel('Frequência') 60 | plt.title('Distribuição de Idades dos Funcionários') 61 | plt.show() 62 | 63 | 64 | plt.scatter(df['Idade'], df['Salario'], color='green') 65 | plt.xlabel('Idade') 66 | plt.ylabel('Salário') 67 | plt.title('Idade vs Salário dos Funcionários') 68 | plt.show() 69 | -------------------------------------------------------------------------------- /Modulo2/Exercícios/ExercicioAplicacao.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | 3 | igm_df = pd.read_csv("Módulo 2/igm_modificado.csv") 4 | 5 | ind_des = igm_df['indice_governanca'] 6 | 7 | print(igm_df.describe()) -------------------------------------------------------------------------------- /Modulo2/Exercícios/ExercicioGraficos.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import matplotlib.pyplot as plt 3 | 4 | # Carregar dados do arquivo Excel 5 | df_filmes = pd.read_excel('Modulo2/filmes.xlsx') 6 | 7 | # Contar o número de filmes por gênero 8 | contagem_genero = df_filmes['Genero'].value_counts() 9 | 10 | # Criar gráfico de barras 11 | plt.figure(figsize=(10, 6)) 12 | contagem_genero.plot(kind='bar', color='skyblue') 13 | plt.title('Contagem de Filmes por Gênero') 14 | plt.xlabel('Gênero') 15 | plt.ylabel('Número de Filmes') 16 | plt.xticks(rotation=45) 17 | plt.grid(axis='y', linestyle='--', alpha=0.7) 18 | plt.tight_layout() 19 | plt.show() 20 | -------------------------------------------------------------------------------- /Modulo2/Exercícios/Investimentos.py: -------------------------------------------------------------------------------- 1 | from cProfile import label 2 | from matplotlib.lines import lineStyles 3 | import numpy as np 4 | import matplotlib.pyplot as plt 5 | 6 | # Dados fictícios de preços médios diários para duas ações (em dólares) 7 | preco_medio_acao1 = np.array([50, 52, 48, 55, 53, 51, 49, 50, 54, 52]) 8 | preco_medio_acao2 = np.array([120, 122, 118, 125, 123, 121, 119, 120, 124, 122]) 9 | 10 | # Número de ações que o investidor possui de cada empresa 11 | acoes_acao1 = 100 # Exemplo: o investidor possui 100 ações da Ação 1 12 | acoes_acao2 = 50 # Exemplo: o investidor possui 50 ações da Ação 2 13 | 14 | # Calculando o valor do investimento em cada dia 15 | investimento_acao1 = preco_medio_acao1 * acoes_acao1 16 | investimento_acao2 = preco_medio_acao2 * acoes_acao2 17 | 18 | # Calculando o patrimônio total do investidor em cada dia 19 | patrimonio_total = investimento_acao1 + investimento_acao2 20 | 21 | dias = list(range(1, 11)) 22 | 23 | # Exibindo os resultados diariamente 24 | for i in range(len(preco_medio_acao1)): 25 | print(f'Dia {i+1}: Patrimônio total = ${patrimonio_total[i]:.2f}') 26 | 27 | # Plotando o gráfico da evolução patrimonial do investidor 28 | plt.plot(dias, patrimonio_total, label='Patrimônio Total', marker='o', linestyle='-', color='b') 29 | plt.plot(dias, investimento_acao1, label='Valor Ação 1', marker='o', linestyle='-', color='r') 30 | plt.plot(dias, investimento_acao2, label='Valor Ação 2', marker='o', linestyle='-', color='g') 31 | 32 | plt.title('Evolução Patrimonial do Investidor') 33 | plt.xlabel('Dias') 34 | plt.ylabel('Patrimônio Total ($)') 35 | plt.grid(True) 36 | plt.legend() 37 | plt.show() 38 | -------------------------------------------------------------------------------- /Modulo2/TiposGraficosMatplotlib.py: -------------------------------------------------------------------------------- 1 | import matplotlib.pyplot as plt # Importar a biblioteca Matplotlib 2 | import numpy as np # Importar a biblioteca NumPy 3 | 4 | 5 | # Dados para o primeiro gráfico de linha 6 | x = [1, 2, 3, 4, 5] 7 | y = [10, 15, 7, 10, 20] 8 | 9 | 10 | # Plotar gráfico de linha 11 | plt.plot(x, y) # Plotar gráfico de linha usando os dados x e y 12 | plt.title('Gráfico de Linha') # Definir título do gráfico 13 | plt.xlabel('X') # Definir rótulo do eixo x 14 | plt.ylabel('Y') # Definir rótulo do eixo y 15 | plt.show() # Mostrar o gráfico 16 | 17 | 18 | # Dados para o segundo gráfico de barra 19 | categorias = ['A', 'B', 'C', 'D'] 20 | valores = [20, 35, 30, 25] 21 | 22 | 23 | # Plotar gráfico de barra 24 | plt.bar(categorias, valores) # Plotar gráfico de barra usando os dados de categorias e valores 25 | plt.title('Gráfico de Barra') # Definir título do gráfico 26 | plt.xlabel('Categorias') # Definir rótulo do eixo x 27 | plt.ylabel('Valores') # Definir rótulo do eixo y 28 | plt.show() # Mostrar o gráfico 29 | 30 | 31 | # Dados para o terceiro histograma 32 | dados = np.random.normal(loc=0, scale=1, size=1000) 33 | 34 | 35 | # Plotar histograma 36 | plt.hist(dados, bins=30) # Plotar histograma dos dados com 30 bins 37 | plt.title('Histograma') # Definir título do gráfico 38 | plt.xlabel('Valores') # Definir rótulo do eixo x 39 | plt.ylabel('Frequência') # Definir rótulo do eixo y 40 | plt.show() # Mostrar o gráfico 41 | 42 | 43 | # Dados para o quarto gráfico de dispersão 44 | x = np.random.randn(100) 45 | y = np.random.randn(100) 46 | 47 | 48 | # Plotar gráfico de dispersão 49 | plt.scatter(x, y) # Plotar gráfico de dispersão usando os dados x e y 50 | plt.title('Gráfico de Dispersão') # Definir título do gráfico 51 | plt.xlabel('X') # Definir rótulo do eixo x 52 | plt.ylabel('Y') # Definir rótulo do eixo y 53 | plt.show() # Mostrar o gráfico 54 | -------------------------------------------------------------------------------- /Modulo2/TiposGraficosSeaborn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicestudar/Curso_Python/88ff22804c9db41de354637bb9426db73051de15/Modulo2/TiposGraficosSeaborn.py -------------------------------------------------------------------------------- /Modulo2/dados_funcionarios.csv: -------------------------------------------------------------------------------- 1 | funcionarios: 2 | - Nome: Ana 3 | Idade: 25 4 | Salario: 3500 5 | - Nome: João 6 | Idade: 30 7 | Salario: 4000 8 | - Nome: Maria 9 | Idade: 28 10 | Salario: 3200 11 | - Nome: Pedro 12 | Idade: 35 13 | Salario: 4500 14 | - Nome: Carlos 15 | Idade: 32 16 | Salario: 3800 17 | - Nome: Sofia 18 | Idade: 27 19 | Salario: 3700 20 | - Nome: Rafael 21 | Idade: 29 22 | Salario: 3900 23 | - Nome: Camila 24 | Idade: 26 25 | Salario: 3600 26 | - Nome: Bruno 27 | Idade: 33 28 | Salario: 4100 29 | - Nome: Juliana 30 | Idade: 31 31 | Salario: 4200 32 | - Nome: Lucas 33 | Idade: 34 34 | Salario: 4300 35 | - Nome: Luana 36 | Idade: 24 37 | Salario: 3400 38 | - Nome: Gabriel 39 | Idade: 36 40 | Salario: 4600 41 | - Nome: Fernanda 42 | Idade: 25 43 | Salario: 3300 44 | - Nome: Thiago 45 | Idade: 29 46 | Salario: 3950 47 | - Nome: Mariana 48 | Idade: 27 49 | Salario: 3450 50 | - Nome: André 51 | Idade: 30 52 | Salario: 4050 53 | - Nome: Renata 54 | Idade: 31 55 | Salario: 4150 56 | - Nome: Gustavo 57 | Idade: 28 58 | Salario: 3250 59 | - Nome: Laura 60 | Idade: 26 61 | Salario: 3650 62 | - Nome: Marcos 63 | Idade: 32 64 | Salario: 3550 65 | - Nome: Larissa 66 | Idade: 33 67 | Salario: 4250 68 | - Nome: Vinicius 69 | Idade: 34 70 | Salario: 4350 71 | - Nome: Paula 72 | Idade: 29 73 | Salario: 3850 74 | - Nome: Rafaela 75 | Idade: 27 76 | Salario: 3350 77 | - Nome: Diego 78 | Idade: 31 79 | Salario: 3950 80 | - Nome: Carolina 81 | Idade: 30 82 | Salario: 4050 83 | - Nome: Marcelo 84 | Idade: 35 85 | Salario: 4150 86 | - Nome: Letícia 87 | Idade: 28 88 | Salario: 3250 89 | - Nome: Daniel 90 | Idade: 26 91 | Salario: 3650 92 | - Nome: Bruna 93 | Idade: 32 94 | Salario: 3550 95 | -------------------------------------------------------------------------------- /Modulo2/dados_funcionarios.yaml: -------------------------------------------------------------------------------- 1 | funcionarios: 2 | - Nome: Ana 3 | Idade: 25 4 | Salario: 3500 5 | - Nome: João 6 | Idade: 30 7 | Salario: 4000 8 | - Nome: Maria 9 | Idade: 28 10 | Salario: 3200 11 | - Nome: Pedro 12 | Idade: 35 13 | Salario: 4500 14 | - Nome: Carlos 15 | Idade: 32 16 | Salario: 3800 17 | - Nome: Sofia 18 | Idade: 27 19 | Salario: 3700 20 | - Nome: Rafael 21 | Idade: 29 22 | Salario: 3900 23 | - Nome: Camila 24 | Idade: 26 25 | Salario: 3600 26 | - Nome: Bruno 27 | Idade: 33 28 | Salario: 4100 29 | - Nome: Juliana 30 | Idade: 31 31 | Salario: 4200 32 | - Nome: Lucas 33 | Idade: 34 34 | Salario: 4300 35 | - Nome: Luana 36 | Idade: 24 37 | Salario: 3400 38 | - Nome: Gabriel 39 | Idade: 36 40 | Salario: 4600 41 | - Nome: Fernanda 42 | Idade: 25 43 | Salario: 3300 44 | - Nome: Thiago 45 | Idade: 29 46 | Salario: 3950 47 | - Nome: Mariana 48 | Idade: 27 49 | Salario: 3450 50 | - Nome: André 51 | Idade: 30 52 | Salario: 4050 53 | - Nome: Renata 54 | Idade: 31 55 | Salario: 4150 56 | - Nome: Gustavo 57 | Idade: 28 58 | Salario: 3250 59 | - Nome: Laura 60 | Idade: 26 61 | Salario: 3650 62 | - Nome: Marcos 63 | Idade: 32 64 | Salario: 3550 65 | - Nome: Larissa 66 | Idade: 33 67 | Salario: 4250 68 | - Nome: Vinicius 69 | Idade: 34 70 | Salario: 4350 71 | - Nome: Paula 72 | Idade: 29 73 | Salario: 3850 74 | - Nome: Rafaela 75 | Idade: 27 76 | Salario: 3350 77 | - Nome: Diego 78 | Idade: 31 79 | Salario: 3950 80 | - Nome: Carolina 81 | Idade: 30 82 | Salario: 4050 83 | - Nome: Marcelo 84 | Idade: 35 85 | Salario: 4150 86 | - Nome: Letícia 87 | Idade: 28 88 | Salario: 3250 89 | - Nome: Daniel 90 | Idade: 26 91 | Salario: 3650 92 | - Nome: Bruna 93 | Idade: 32 94 | Salario: 3550 95 | -------------------------------------------------------------------------------- /Modulo2/filmes.csv: -------------------------------------------------------------------------------- 1 | Nome;Ano;Genero;Duracao;Avaliacao 2 | O poderoso chefao;1972;Drama;175;9.2 3 | Cidade de Deus;2002;Drama;133;8.6 4 | De volta para o futuro;1984;Ficcao;116;8.5 5 | Matrix;1999;Ficcao;136;8.7 6 | Gigantes de Aco;2011;Acao;127;7.1 7 | Clube da Luta;1999;Drama;139;8.8 8 | Armagedon;1998;Ficcao;151;6.7 9 | Mercenarios;2010;Acao;103;6.4 10 | A espera de um milagre;1999;Drama;189;8.6 11 | Toy Story;1995;Animacao;81;8.3 12 | -------------------------------------------------------------------------------- /Modulo2/imagem.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicestudar/Curso_Python/88ff22804c9db41de354637bb9426db73051de15/Modulo2/imagem.jpg -------------------------------------------------------------------------------- /Modulo2/imagem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicestudar/Curso_Python/88ff22804c9db41de354637bb9426db73051de15/Modulo2/imagem.png -------------------------------------------------------------------------------- /Modulo2/imagem_conversao.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicestudar/Curso_Python/88ff22804c9db41de354637bb9426db73051de15/Modulo2/imagem_conversao.jpg -------------------------------------------------------------------------------- /Modulo2/imagem_conversao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicestudar/Curso_Python/88ff22804c9db41de354637bb9426db73051de15/Modulo2/imagem_conversao.png -------------------------------------------------------------------------------- /Modulo3/PowerBI.sql: -------------------------------------------------------------------------------- 1 | create table clientes ( 2 | id serial primary key, 3 | nome varchar (255) not null, 4 | sobrenome varchar (255) not null, 5 | email varchar (255) not null 6 | ) 7 | 8 | select * from clientes; 9 | 10 | insert into clientes values(1, 'Vinicius', 'Granço', 'vini@gmail.com'); 11 | insert into clientes values(2, 'João', 'Silva', 'joao@gmail.com'); 12 | insert into clientes values(3, 'Pedro', 'Mateus', 'pedro@gmail.com'); 13 | insert into clientes values(4, 'Bruno', 'Mendes', 'bruno@gmail.com'); 14 | insert into clientes values(5, 'Diogo', 'Thomaz', 'diogo@gmail.com'); 15 | insert into clientes values(6, 'Afonso', 'Cristino', 'afonso@gmail.com'); 16 | 17 | create table pedidos ( 18 | id serial primary key, 19 | id_clientes int, 20 | data_pedido date not null, 21 | total numeric (6, 2) not null, 22 | status varchar(255) check (status in ('Em Andamento', 'Finalizado', 'Cancelado')), 23 | foreign key (id_clientes) references clientes(id) 24 | ) 25 | 26 | insert into pedidos (id_clientes, data_pedido, total) values (1, '2024-04-01', 100); 27 | insert into pedidos (id_clientes, data_pedido, total) values (2, '2024-05-01', 200); 28 | insert into pedidos (id_clientes, data_pedido, total) values (3, '2024-06-01', 300); 29 | insert into pedidos (id_clientes, data_pedido, total) values (4, '2024-07-01', 400); 30 | insert into pedidos (id_clientes, data_pedido, total) values (5, '2024-08-01', 500); 31 | insert into pedidos (id_clientes, data_pedido, total) values (6, '2024-09-01', 600); 32 | 33 | alter table pedidos 34 | alter column status 35 | set default 'Em Andamento'; -------------------------------------------------------------------------------- /Modulo3/exemplo1.pbix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicestudar/Curso_Python/88ff22804c9db41de354637bb9426db73051de15/Modulo3/exemplo1.pbix -------------------------------------------------------------------------------- /Módulo 1/Conjuntos.py: -------------------------------------------------------------------------------- 1 | # Criação de Conjuntos: 2 | # Conjunto de números 3 | numeros = {1, 2, 3, 4, 5} 4 | 5 | # Conjunto de letras 6 | vogais = {'a', 'e', 'i', 'o', 'u'} 7 | 8 | # Operações de Conjuntos: 9 | # União de conjuntos 10 | uniao = numeros.union(vogais) # Resultado: {1, 2, 3, 4, 5, 'a', 'e', 'i', 'o', 'u'} 11 | 12 | # Interseção de conjuntos 13 | intersecao = numeros.intersection({3, 4, 5, 6}) # Resultado: {3, 4, 5} 14 | 15 | # Diferença de conjuntos 16 | diferenca = numeros.difference({4, 5, 6}) # Resultado: {1, 2, 3} 17 | -------------------------------------------------------------------------------- /Módulo 1/Dicionarios.py: -------------------------------------------------------------------------------- 1 | #Criação de Dicionários: 2 | # Dicionário de informações sobre uma pessoa 3 | pessoa = {'nome': 'João', 'idade': 25, 'cidade': 'São Paulo'} 4 | 5 | # Dicionário vazio 6 | configuracoes = {} 7 | 8 | # Acesso por chave 9 | nome = pessoa['nome'] # Resultado: 'João' 10 | 11 | # Modificação de Valores: 12 | 13 | # Modificar um valor 14 | pessoa['idade'] = 26 # Agora o dicionário é {'nome': 'João', 'idade': 26, 'cidade': 'São Paulo'} 15 | 16 | # Adição e Remoção de Itens: 17 | 18 | # Adicionar novo item 19 | pessoa['profissao'] = 'Engenheiro' # Resultado: {'nome': 'João', 'idade': 26, 'cidade': 'São Paulo', 'profissao': 'Engenheiro'} 20 | 21 | # Remover item por chave 22 | del pessoa['cidade'] # Resultado: {'nome': 'João', 'idade': 26, 'profissao': 'Engenheiro'} 23 | -------------------------------------------------------------------------------- /Módulo 1/Estatisticas.py: -------------------------------------------------------------------------------- 1 | def calcular_media(lista_numeros): 2 | return sum(lista_numeros) / len(lista_numeros) 3 | 4 | def calcular_mediana(lista_numeros): 5 | lista_ordenada = sorted(lista_numeros) 6 | tamanho = len(lista_numeros) 7 | if tamanho % 2 == 0: 8 | meio1 = lista_ordenada[tamanho // 2 - 1] 9 | meio2 = lista_ordenada[tamanho // 2] 10 | return (meio1 + meio2) / 2 11 | else: 12 | return lista_ordenada[tamanho // 2] 13 | -------------------------------------------------------------------------------- /Módulo 1/Exercícios/Avancados/Exercicios.py: -------------------------------------------------------------------------------- 1 | import cmath 2 | 3 | # Crie três variáveis, a, b e c, representando os coeficientes de uma equação quadrática (ax^2 + bx + c). Calcule as raízes da equação usando a fórmula de Bhaskara. 4 | a = float(input("Digite o coeficiente a:")) 5 | b = float(input("Digite o coeficiente b:")) 6 | c = float(input("Digite o coeficiente c:")) 7 | 8 | delta = cmath.sqrt(b ** 2 - 4 * a * c) 9 | raiz1 = (-b + delta) / (2 * a) 10 | raiz2 = (-b - delta) / (2 * a) 11 | 12 | print(f"As raízes quadráticas são: {raiz1} e {raiz2}") 13 | 14 | # Implemente um programa que converta um valor em dólares para outras moedas (por exemplo, euros e libras). Solicite ao usuário o valor em dólares e a taxa de conversão. 15 | 16 | dolares = float(input("Digite o valor em dólares: ")) 17 | taxa_conversao = float(input("Digite a taxa de conversão: ")) 18 | 19 | euros = dolares * taxa_conversao 20 | libras = dolares * 0.75 21 | 22 | print(f"Em euros: {euros: .2f}") 23 | print(f"Em libras: {libras: .2f}") 24 | 25 | # Crie uma função que receba uma string como entrada e retorne True se ela for um palíndromo (lê-se igual de trás para frente), e False caso contrário. 26 | def palindromo(texto): 27 | texto = texto.lower().replace("", "") 28 | return texto == texto[::-1] 29 | 30 | frase_usuario = input("Digite uma frase: ") 31 | resultado_palindromo = palindromo(frase_usuario) 32 | print(f"A frase é um palindromo: {resultado_palindromo}") -------------------------------------------------------------------------------- /Módulo 1/Exercícios/Simples/Exercicios.py: -------------------------------------------------------------------------------- 1 | # Exercício 1 - operações com números 2 | a = input("Digite um n°: ") 3 | b = input("Digite outro n°: ") 4 | 5 | a = int(a) 6 | b = int(b) 7 | 8 | soma = (a) + (b) 9 | subtracao = (a) - (b) 10 | multiplicacao = (a) * (b) 11 | divisao = (a) / (b) 12 | resto = (a) % (b) 13 | potencia = (a) ** (b) 14 | print("Soma: " + str(soma)) 15 | print("Subtração: " + str(subtracao)) 16 | print("Multiplicação: " + str(multiplicacao)) 17 | print("Divisão: " + str(divisao)) 18 | print("Resto: " + str(resto)) 19 | print("Potência: " + str(potencia)) 20 | 21 | raio_circulo = 5 22 | calcular_area = float(3.14 * raio_circulo)**2 23 | print(calcular_area) 24 | 25 | # Exercício 2 - concatenando strings 26 | nome = "Maria" 27 | sobrenome = "Silva" 28 | nome_completo = nome + " " + sobrenome 29 | print(nome_completo) 30 | 31 | frase = "O dia está ensolarado" 32 | frase_upper = frase.upper() 33 | frase_lower = frase.lower() 34 | frase_substituida = frase.replace("ensolarado", "nublado") 35 | print(frase_upper) 36 | print(frase_lower) 37 | print(frase_substituida) 38 | 39 | # Exercício 3 - Utilização de Listas e Tuplas 40 | cores = ["vermelho", "azul", "amarelo"] 41 | cores.append("roxo") 42 | cores.append("laranja") 43 | print(cores) 44 | 45 | coordenadas = (120, 50) 46 | print(coordenadas[0]) 47 | print(coordenadas[1]) 48 | 49 | # Exercício 4 - estruturas condicionais 50 | a = input("Digite um n°: ") 51 | b = input("Digite outro n°: ") 52 | 53 | a = int(a) 54 | b = int(b) 55 | 56 | if a % 2 == 0 and b % 2 == 0: 57 | print("Ambos os números são pares.") 58 | else: 59 | print("Pelo menos um dos números não é par.") 60 | 61 | idade = input("Qual a sua idade?") 62 | idade = int(idade) 63 | if idade >=18 and idade <=65: 64 | print("Idade aceita") 65 | elif idade < 18: 66 | print("Toddynho") 67 | elif idade > 65: 68 | print("Dinossauro") 69 | 70 | 71 | numeros = [1, 3, 6, 9, 12, 15] 72 | 73 | for numero in numeros: 74 | if numero % 3 == 0 and numero % 2 != 0: 75 | print(f"{numero} é múltiplo de 3") -------------------------------------------------------------------------------- /Módulo 1/Exercícios/Simples/Listas.py: -------------------------------------------------------------------------------- 1 | # Exercício 1 - Manipulação de Listas 2 | numeros = [5, 3, 4, 7, 9] 3 | numeros.sort() 4 | print(numeros) 5 | numeros.append(10) 6 | print(numeros) 7 | numeros.remove(5) 8 | print(numeros) 9 | 10 | 11 | # Exercício 2 - slicing e operações 12 | numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 13 | sublista = numeros[1:2], numeros[3:4], numeros[5:6], numeros[7:8], numeros[9:10] 14 | # print(sublista) 15 | sublista[0] = 10 16 | sublista[1] = 8 17 | sublista[2] = 6 18 | sublista[3] = 4 19 | sublista[4] = 2 20 | print(sublista) -------------------------------------------------------------------------------- /Módulo 1/Exercícios/Simples/Random.py: -------------------------------------------------------------------------------- 1 | import random 2 | 3 | # Exercicio 1 4 | numeros = [] 5 | for i in range(5): 6 | numero = random.randint(1, 100) 7 | numeros.append(numero) 8 | 9 | print("Os números gerados são:") 10 | for numero in numeros: 11 | print(numero) 12 | 13 | # Exercício 2 14 | numeros = [] 15 | for i in range(10): 16 | numero = random.randint(1, 100) 17 | numeros.append(numero) 18 | 19 | print(f"Os números gerados são: {numeros}") 20 | 21 | for numero in reversed(numeros): 22 | print(f"Ordem inversa: {numero}") 23 | 24 | # Exercício 3 - NÃO FINALIZADO 25 | notas = [] 26 | for i in range(4): 27 | nota = random.randint(0, 10) 28 | notas.append(nota) 29 | 30 | print(f"Notas: {notas}") 31 | 32 | for nota in notas: 33 | media = (nota + nota + nota + nota) / 4 34 | print(media) -------------------------------------------------------------------------------- /Módulo 1/Funcoes.py: -------------------------------------------------------------------------------- 1 | 2 | # Função Simples: 3 | 4 | def saudacao(nome): 5 | return f"Olá, {nome}!" 6 | # Função com Parâmetros Padrão: 7 | 8 | def potencia(base, expoente=2): 9 | return base ** expoente 10 | # Função com Retorno Múltiplo: 11 | 12 | def opera_numeros(a, b): 13 | soma = a + b 14 | diferenca = a - b 15 | return soma, diferenca 16 | 17 | def exemplo_escopo(): 18 | variavel_local = 10 19 | print(variavel_local) 20 | 21 | exemplo_escopo() # Saída: 10 22 | # print(variavel_local) Erro: variavel_local não está definida fora da função 23 | 24 | 25 | def calcular_quadrado (numero): 26 | return numero ** 2 27 | resultado = calcular_quadrado(5) 28 | print(resultado) 29 | 30 | 31 | def fatorial(n): 32 | if n == 0 or n == 1: 33 | return 1 34 | else: 35 | return n * fatorial(n - 1) 36 | 37 | resultado = fatorial(5) 38 | print(resultado) # Saída: 120 39 | -------------------------------------------------------------------------------- /Módulo 1/Functions.py: -------------------------------------------------------------------------------- 1 | # Definindo uma função 2 | def saudacao(nome): 3 | return f"Olá, {nome}!" 4 | 5 | # Chamando a função 6 | mensagem = saudacao("Carlos") 7 | print(mensagem) -------------------------------------------------------------------------------- /Módulo 1/Graficos.py: -------------------------------------------------------------------------------- 1 | import matplotlib.pyplot as plt 2 | 3 | # Criando um gráfico simples 4 | x = [1, 2, 3, 4, 5] 5 | y = [10, 15, 7, 12, 8] 6 | 7 | plt.plot(x, y) 8 | plt.xlabel('X-axis') 9 | plt.ylabel('Y-axis') 10 | plt.title('Exemplo de Gráfico') 11 | plt.show() 12 | -------------------------------------------------------------------------------- /Módulo 1/Listas.py: -------------------------------------------------------------------------------- 1 | #Criação de Listas: 2 | 3 | # Lista de números 4 | numeros = [1, 2, 3, 4, 5] 5 | 6 | # Lista de strings 7 | frutas = ["maçã", "banana", "laranja"] 8 | 9 | # Lista mista 10 | misturada = [1, "python", True, 3.14] 11 | 12 | 13 | #Acesso a Elementos: 14 | 15 | # Acesso por índice 16 | primeiro_elemento = numeros[0] # Resultado: 1 17 | 18 | # Índices negativos contam a partir do final 19 | ultimo_elemento = frutas[-1] # Resultado: "laranja" 20 | 21 | #Modificação de Elementos: 22 | 23 | # Modificar um elemento 24 | frutas[1] = "kiwi" # Agora a lista é ["maçã", "kiwi", "laranja"] 25 | 26 | #Adição e Remoção de Elementos: 27 | 28 | # Adicionar elemento ao final da lista 29 | frutas.append("uva") # Resultado: ["maçã", "kiwi", "laranja", "uva"] 30 | 31 | # Remover elemento por valor 32 | frutas.remove("kiwi") # Resultado: ["maçã", "laranja", "uva"] 33 | -------------------------------------------------------------------------------- /Módulo 1/Loops.py: -------------------------------------------------------------------------------- 1 | # Criando uma lista 2 | frutas = ["maçã", "uva", "banana"] 3 | 4 | # Iterando sobre a lista 5 | for fruta in frutas: 6 | print(fruta) 7 | 8 | # Loop para saber quais números de 0 a 9 são pares 9 | for numero in range(10): 10 | if numero % 2 == 0: 11 | print(numero) -------------------------------------------------------------------------------- /Módulo 1/Manipulacao.py: -------------------------------------------------------------------------------- 1 | # Manipulação de Strings 2 | 3 | frase = "Python é uma linguagem poderosa" 4 | 5 | # Extrair as primeiras 6 letras 6 | primeiras_letras = frase[:6] 7 | 8 | # Extrair as últimas 9 letras 9 | ultimas_letras = frase[-9:] 10 | 11 | # Extrair cada segunda letra 12 | cada_segunda_letra = frase[::2] 13 | 14 | print(primeiras_letras, ultimas_letras, cada_segunda_letra) 15 | 16 | 17 | # Formatação Avançada 18 | nome = "João" 19 | idade = 30 20 | 21 | # Usando f-strings 22 | mensagem = f"Olá, {nome}! Você tem {idade} anos." 23 | 24 | # Usando método format 25 | outra_mensagem = "Olá, {}! Você tem {} anos.".format(nome, idade) 26 | 27 | print(mensagem) 28 | print(outra_mensagem) 29 | 30 | 31 | # Métodos Adicionais 32 | texto = " Python é incrível! " 33 | 34 | # Remover espaços em branco no início e no final 35 | texto_trim = texto.strip() 36 | 37 | # Converter para letras maiúsculas 38 | texto_upper = texto.upper() 39 | 40 | # Substituir parte do texto 41 | texto_substituido = texto.replace("Python", "Java") 42 | 43 | # Dividir a string em uma lista de palavras 44 | lista_palavras = texto.split() 45 | 46 | print(texto_trim) 47 | print(texto_upper) 48 | print(texto_substituido) 49 | print(lista_palavras) 50 | 51 | 52 | # Verificação e Manipulação 53 | email = "usuario@email.com" 54 | 55 | # Verificar se a string é um e-mail 56 | e_email = email.endswith(".com") 57 | 58 | # Contar o número de ocorrências de uma letra 59 | contagem_letra = texto.count("o") 60 | 61 | # Encontrar a posição da palavra "incrível" 62 | posicao_incrivel = texto.find("incrível") 63 | 64 | print(e_email) 65 | print(contagem_letra) 66 | print(posicao_incrivel) 67 | 68 | 69 | # Concatenação 70 | 71 | nome = "Maria" 72 | sobrenome = "Silva" 73 | 74 | # Concatenar strings usando o operador '+' 75 | nome_completo = nome + " " + sobrenome 76 | 77 | # Concatenar usando o método join 78 | lista_palavras = ["Python", "é", "incrível"] 79 | frase_completa = " ".join(lista_palavras) 80 | 81 | print(nome_completo) 82 | print(frase_completa) 83 | 84 | -------------------------------------------------------------------------------- /Módulo 1/Modulos.py: -------------------------------------------------------------------------------- 1 | import math 2 | from datetime import datetime 3 | import Operacoes 4 | import Estatisticas 5 | 6 | 7 | raiz_quadrada = math.sqrt(25) # Calcula a raiz quadrada de 25 8 | seno_30_graus = math.sin(math.radians(30)) # Calcula o seno de 30 graus convertidos para radianos 9 | 10 | data_atual = datetime.now() # Obtém a data e hora atual 11 | ano_atual = data_atual.year # Obtém o ano atual 12 | 13 | resultado_soma = Operacoes.somar(5, 3) 14 | resultado_subtracao = Operacoes.subtrair(10, 4) 15 | 16 | dados = [2, 3, 5, 7, 11, 13, 17] 17 | media = Estatisticas.calcular_media(dados) 18 | mediana = Estatisticas.calcular_mediana(dados) 19 | -------------------------------------------------------------------------------- /Módulo 1/Operacoes.py: -------------------------------------------------------------------------------- 1 | def somar(a, b): 2 | return a + b 3 | 4 | def subtrair(a, b): 5 | return a - b 6 | -------------------------------------------------------------------------------- /Módulo 1/OperacoesBasicas.py: -------------------------------------------------------------------------------- 1 | # Definindo variáveis 2 | nome = "Ana" 3 | idade = 25 4 | 5 | # Imprimindo informações 6 | print(f"Olá, {nome}! Você tem {idade} anos") 7 | 8 | # Realizando operações 9 | idade_no_futuro = idade + 5 10 | print(f"Daqui a 5 anos, você terá {idade_no_futuro} anos") -------------------------------------------------------------------------------- /Módulo 1/PrimeiroPrograma.py: -------------------------------------------------------------------------------- 1 | print("hello, python") -------------------------------------------------------------------------------- /Módulo 1/Strings.py: -------------------------------------------------------------------------------- 1 | # Concatenando strings 2 | primeiro_nome = "João" 3 | ultimo_nome = "Silva" 4 | nome_completo = primeiro_nome + " " + ultimo_nome 5 | 6 | # Imprimindo o nome completo 7 | print("Nome completo:", nome_completo) 8 | 9 | # Transformando para letras maiúsculas 10 | print("Nome em maiúsculas:", nome_completo.upper()) 11 | -------------------------------------------------------------------------------- /Módulo 1/Tipos.py: -------------------------------------------------------------------------------- 1 | # Números inteiros 2 | from networkx import krackhardt_kite_graph 3 | 4 | 5 | idade = 25 6 | quantidade_produtos = 100 7 | 8 | # Números de ponto flutuante 9 | preco_unitario = 29.99 10 | pi = 3.14159 11 | 12 | # Strings simples 13 | nome = "Alice" 14 | mensagem = 'Olá, seja bem-vindo!' 15 | 16 | # Concatenação de strings 17 | nome_completo = nome + " Wonderland" 18 | 19 | # Formatação de strings 20 | mensagem_formatada = f"Olá, {nome}! Você tem {idade} anos." 21 | 22 | # Listas (mutáveis) 23 | frutas = ["maçã", "banana", "uva"] 24 | numeros = [1, 2, 3, 4, 5] 25 | 26 | # Adicionando elementos a uma lista 27 | frutas.append("laranja") 28 | 29 | # Tuplas (imutáveis) 30 | coordenadas = (4, 5) 31 | cores_rgb = (255, 0, 0) 32 | 33 | # Dicionário chave-valor 34 | pessoa = { 35 | "nome": "Carlos", 36 | "idade": 30, 37 | "profissao": "engenheiro" 38 | } 39 | 40 | # Acessando valores 41 | print(pessoa["nome"]) 42 | print(pessoa.get("idade")) 43 | 44 | # Adicionando novo par chave-valor 45 | pessoa["cidade"] = "São Paulo" 46 | 47 | # Variáveis booleanas 48 | tem_cafe = True 49 | tem_cha = False 50 | 51 | # Expressões booleanas 52 | tem_bebida_quente = tem_cafe or tem_cha 53 | tem_as_dois = tem_cafe and tem_cha 54 | -------------------------------------------------------------------------------- /Módulo 1/Tuplas.py: -------------------------------------------------------------------------------- 1 | # Criação de Tuplas: 2 | 3 | # Tupla de números 4 | coordenadas = (10, 20, 30) 5 | 6 | # Tupla de strings 7 | cores = ("vermelho", "verde", "azul") 8 | 9 | # Tupla mista 10 | informacoes = (1, "Python", True) 11 | 12 | #Acesso a Elementos: 13 | 14 | # Acesso por índice 15 | primeiro_elemento = coordenadas[0] # Resultado: 10 16 | 17 | # Índices negativos contam a partir do final 18 | ultimo_elemento = cores[-1] # Resultado: "azul" 19 | -------------------------------------------------------------------------------- /Módulo 1/Variáveis.py: -------------------------------------------------------------------------------- 1 | # Operações com Variáveis 2 | 3 | salario = 3000 4 | bonus = 500 5 | total = salario + bonus 6 | 7 | print(salario) 8 | 9 | # Manipulação de String 10 | 11 | nome = "Maria" 12 | sobrenome = "José" 13 | nome_completo = nome + "" + sobrenome 14 | print(nome_completo) 15 | 16 | # Atualização de Variáveis 17 | contador = 0 18 | contador += 1 19 | print(contador) 20 | 21 | # Variáveis em estruturas de controle 22 | idade = 18 23 | if idade >= 18: 24 | pode_votar = True 25 | else: 26 | pode_votar = False 27 | -------------------------------------------------------------------------------- /commit.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicestudar/Curso_Python/88ff22804c9db41de354637bb9426db73051de15/commit.md -------------------------------------------------------------------------------- /dados.yaml: -------------------------------------------------------------------------------- 1 | alunos: 2 | - nome: João 3 | - nome: Maria 4 | - nome: Pedro 5 | - nome: Ana 6 | - nome: Carla 7 | - nome: Luiz 8 | - nome: Mariana 9 | - nome: Rafael 10 | - nome: Patrícia 11 | - nome: Gustavo 12 | - nome: Fernanda 13 | - nome: Lucas 14 | - nome: Amanda 15 | - nome: Rodrigo 16 | - nome: Camila 17 | - nome: Daniel 18 | - nome: Isabela 19 | - nome: Thiago 20 | - nome: Natália 21 | - nome: Juliano 22 | - nome: Vanessa 23 | - nome: Eduardo 24 | - nome: Tatiane 25 | - nome: Felipe 26 | - nome: Cristina 27 | - nome: Marcelo 28 | - nome: Larissa 29 | - nome: Roberto 30 | - nome: Bianca 31 | - nome: Fabrício 32 | altura: 33 | - 1.65 34 | - 1.75 35 | - 1.7 36 | - 1.8 37 | - 1.68 38 | - 1.65 39 | - 1.8 40 | - 1.7 41 | - 1.68 42 | - 1.75 43 | - 1.65 44 | - 1.7 45 | - 1.68 46 | - 1.75 47 | - 1.65 48 | - 1.7 49 | - 1.8 50 | - 1.68 51 | - 1.75 52 | - 1.65 53 | - 1.7 54 | - 1.8 55 | - 1.68 56 | - 1.75 57 | - 1.65 58 | - 1.7 59 | - 1.8 60 | - 1.68 61 | - 1.75 62 | - 1.65 63 | idade: 64 | - 22 65 | - 20 66 | - 21 67 | - 19 68 | - 20 69 | - 20 70 | - 22 71 | - 21 72 | - 19 73 | - 20 74 | - 20 75 | - 22 76 | - 21 77 | - 19 78 | - 20 79 | - 20 80 | - 22 81 | - 21 82 | - 19 83 | - 20 84 | - 20 85 | - 22 86 | - 21 87 | - 19 88 | - 20 89 | - 20 90 | - 22 91 | - 21 92 | - 19 93 | - 20 94 | notas: 95 | - 8 96 | - 7 97 | - 9 98 | - 6 99 | - 8 100 | - 8 101 | - 7 102 | - 9 103 | - 6 104 | - 8 105 | - 8 106 | - 7 107 | - 9 108 | - 6 109 | - 8 110 | - 8 111 | - 7 112 | - 9 113 | - 6 114 | - 8 115 | - 8 116 | - 7 117 | - 9 118 | - 6 119 | - 8 120 | - 8 121 | - 7 122 | - 9 123 | - 6 124 | - 8 125 | -------------------------------------------------------------------------------- /dados_funcionarios.csv: -------------------------------------------------------------------------------- 1 | Nome,Idade,Salario,salario_ajustado 2 | Ana,25,3500,3850.0000000000005 3 | João,30,4000,4400.0 4 | Maria,28,3200,3520.0000000000005 5 | Pedro,35,4500,4950.0 6 | Carlos,32,3800,4180.0 7 | Sofia,27,3700,4070.0000000000005 8 | Rafael,29,3900,4290.0 9 | Camila,26,3600,3960.0000000000005 10 | Bruno,33,4100,4510.0 11 | Juliana,31,4200,4620.0 12 | Lucas,34,4300,4730.0 13 | Luana,24,3400,3740.0000000000005 14 | Gabriel,36,4600,5060.0 15 | Fernanda,25,3300,3630.0000000000005 16 | Thiago,29,3950,4345.0 17 | Mariana,27,3450,3795.0000000000005 18 | André,30,4050,4455.0 19 | Renata,31,4150,4565.0 20 | Gustavo,28,3250,3575.0000000000005 21 | Laura,26,3650,4015.0000000000005 22 | Marcos,32,3550,3905.0000000000005 23 | Larissa,33,4250,4675.0 24 | Vinicius,34,4350,4785.0 25 | Paula,29,3850,4235.0 26 | Rafaela,27,3350,3685.0000000000005 27 | Diego,31,3950,4345.0 28 | Carolina,30,4050,4455.0 29 | Marcelo,35,4150,4565.0 30 | Letícia,28,3250,3575.0000000000005 31 | Daniel,26,3650,4015.0000000000005 32 | Bruna,32,3550,3905.0000000000005 33 | --------------------------------------------------------------------------------