Slide 1

Slide 1 text

Programação com Python PESSOAS > TECNOLOGIA

Slide 2

Slide 2 text

Quem sou eu? ● Bacharelanda de Ciência da Computação - UFPI ● Desenvolvedora Full Stack - Quiploy ● Técnica em Desenvolvimento de Software - IFPI ● Líder técnica e desenvolvedora no projeto Open Source - Colaboradados

Slide 3

Slide 3 text

Como me encontrar? [email protected] @anapauladsmendes /anapaulamendes @ananoterminal

Slide 4

Slide 4 text

Zen do Python, por Tim Peters

Slide 5

Slide 5 text

Bonito é melhor que feio. Explícito é melhor que implícito. Simples é melhor que complexo. Complexo é melhor que complicado. Linear é melhor do que aninhado. Esparso é melhor que denso. Legibilidade conta. Casos especiais não são especiais o bastante para quebrar as regras. Ainda que praticidade vença a pureza. Erros nunca devem passar silenciosamente. A menos que sejam explicitamente silenciados. Diante da ambiguidade, recuse a tentação de adivinhar. Deveria haver um — e preferencialmente só um — modo óbvio para fazer algo. Embora esse modo possa não ser óbvio a princípio a menos que você seja holandês. Agora é melhor que nunca. Embora nunca frequentemente seja melhor que já. Se a implementação é difícil de explicar, é uma má idéia. Se a implementação é fácil de explicar, pode ser uma boa idéia. Namespaces são uma grande ideia — vamos ter mais dessas!

Slide 6

Slide 6 text

Vamos aos conceitos

Slide 7

Slide 7 text

A linguagem de programação Python ➔ Criada pelo Guido Van Rossum; ➔ Open Source; ➔ Desenvolvimento Web; ➔ Ciência de Dados; ➔ Linguagem de alto nível; ➔ Interpretada;

Slide 8

Slide 8 text

Interpretadores x Compiladores

Slide 9

Slide 9 text

Depuração É encontrar e corrigir erros no programa. Também conhecido como debugging. Embora possa ser frustrante, depurar é uma das partes intelectualmente mais ricas, desafiadoras e interessantes da programação.

Slide 10

Slide 10 text

Erros

Slide 11

Slide 11 text

De Sintaxe Se refere à estrutura de um programa e as regras sobre essa estrutura.

Slide 12

Slide 12 text

De Semântica Se refere a lógica do programa.

Slide 13

Slide 13 text

De Execução Também conhecido como runtime errors ou exceções e só aparecem quando executa o programa.

Slide 14

Slide 14 text

Variáveis e tipos de dados ➔ int ➔ float ➔ str ➔ bool ➔ type( ) ➔ int( ) ➔ float( ) ➔ str( ) ➔ bool( )

Slide 15

Slide 15 text

Palavras reservadas and - as - assert - break - class - continue - def - del - elif - else - except - exec - finally - for - from - global - if - import - in - is - lambda - nonlocal - not - or - pass - raise - return - try - while - with - yield - True - False - None

Slide 16

Slide 16 text

Comando É uma instrução que o interpretador Python pode executar. Ex.: while, if, for, import.

Slide 17

Slide 17 text

Expressão É uma combinação de valores, variáveis, operadores e chamadas de funções e necessitam ser calculadas. Ex.: x = x + 1

Slide 18

Slide 18 text

Operadores aritméticos + Adição - Subtração * Multiplicação / Divisão ** Potenciação // Divisão Inteira % Resto

Slide 19

Slide 19 text

Operadores relacionais > Maior que >= Maior igual que < Menor que <= Menor igual que == Igual != Diferente

Slide 20

Slide 20 text

Operadores lógicos and Conjunção or União not Negação

Slide 21

Slide 21 text

Input ➔ nome = input(“Digite seu nome: ”) ➔ idade = int(input(“Digite sua idade: ”)) ➔ altura = float(input(“Digite sua altura: ”))

Slide 22

Slide 22 text

Print ➔ print(“Hello World”) ➔ print(nome) ➔ print(idade) ➔ print(altura)

Slide 23

Slide 23 text

Precedência ➔ Parênteses têm a mais alta precedência e podem ser usados para forçar que uma expressão seja calculada na ordem que você deseja. ➔ Exponenciação tem a segunda precedência mais alta. ➔ Multiplicação e ambas as divisões têm a mesma precedência, que são mais altas que adição e subtração, que também têm a mesma precedência.

Slide 24

Slide 24 text

Reatribuição de valores

Slide 25

Slide 25 text

Atualização de variáveis ➔ Incrementação. ➔ Decrementação.

Slide 26

Slide 26 text

Hora de praticar!

Slide 27

Slide 27 text

Você vai precisar criar um cadastro para estudantes. Solicite sua matricula, nome, idade, telefone, e-mail e curso. Então imprima os dados de estudante.

Slide 28

Slide 28 text

Listas

Slide 29

Slide 29 text

Valores em uma lista ➔ Lista vazia: ◆ vazia = [ ] ➔ Lista com itens: ◆ frutas = [‘banana’, ‘melancia’, ‘abacate’]

Slide 30

Slide 30 text

Métodos de lista ➔ Para adicionar itens: ◆ frutas.append(‘uva’) ➔ Para ordenar itens: ◆ frutas.sort( ) ➔ Tamanho da lista: ◆ len(frutas) ➔ Acessar itens: ◆ frutas[n]

Slide 31

Slide 31 text

Operações com lista ➔ Concatenação de listas: ◆ [1, 2, 3] + [4, 5, 6] ➔ Repetição de listas: ◆ [1, 2, 3] * 3

Slide 32

Slide 32 text

Operações com lista ➔ Fatiamento de listas: ◆ lista = [0, 1, 2, 3, 4, 5] ◆ lista[:4] ◆ lista[3:] ◆ lista[1:3] ➔ Remoção em listas: ◆ del lista[n]

Slide 33

Slide 33 text

Hora de praticar!

Slide 34

Slide 34 text

Escreva uma lista de frutas com 3 frutas. Adicione “kiwi” nesta lista. Escreva uma lista de vegetais com 5 items. Apague o item do meio. Junte as duas listas em uma lista só, chamada “feira”.

Slide 35

Slide 35 text

Tuplas

Slide 36

Slide 36 text

Valores em uma tupla ➔ Tupla vazia ◆ vazia = ( ) ➔ Tupla com um item ◆ tupla = 1, ◆ tupla = (1,) ➔ Tupla com items ◆ tupla = 1, 2, 3, 4, 5 ◆ tupla = (1, 2, 3, 4, 5)

Slide 37

Slide 37 text

Métodos de tupla ➔ Acessa items como na lista ➔ O fatiamento é como na lista ➔ É imutável, portanto não é possível reatribuir valores ➔ É possível adicionar items concatenando tuplas

Slide 38

Slide 38 text

Utilidade púlica ➔ Sem tupla a = 1 b = 2 temp = a a = b b = temp ➔ Com tupla a = 1 b = 2 a, b = b, a

Slide 39

Slide 39 text

Hora de praticar!

Slide 40

Slide 40 text

Escreva uma tupla com 5 números ímpares. Escreva uma tupla com 5 números pares. Adicione os números pares junto dos ímpares.

Slide 41

Slide 41 text

Dicionários

Slide 42

Slide 42 text

Valores em um dicionário ➔ Dicionário vazio ◆ vazio = { } ➔ Dicionário com items ◆ estudante = {‘nome’: ‘Sam’, ‘idade’: 20}

Slide 43

Slide 43 text

Métodos de dicionário ➔ Para adicionar items ◆ estudante[‘matricula’] = ‘2019000001’ ➔ Para ordenar items ◆ sorted(estudante.items( )) ➔ Tamanho do dicionário ◆ len(estudante) ➔ Para acessar items ◆ estudante[‘key’]

Slide 44

Slide 44 text

Métodos de dicionário ➔ Acessar as chaves ◆ estudante.keys( ) ➔ Acessar os valores ◆ estudante.values( ) ➔ Acessar os items ◆ estudante.items( ) ➔ Remoção de items ◆ del estudante[“key”]

Slide 45

Slide 45 text

Hora de praticar!

Slide 46

Slide 46 text

Agora você vai fazer um cadastro de estudante adicionando os dados de estudante de acordo com cada chave. Os campos são: nome, idade, matricula, e-mail, curso. Organize o dicionário por items. As entradas devem ser dadas pelo usuário.

Slide 47

Slide 47 text

Condicionais

Slide 48

Slide 48 text

Tabela verdade

Slide 49

Slide 49 text

Observações antes de começar ➔ Valores booleanos ◆ True ◆ False ➔ Expressão booleana ◆ True and True ➔ Utiliza dos operadores lógicos e relacionais ➔ Precedência importa

Slide 50

Slide 50 text

Execução condicional: Seleção binária if EXPRESSÃO BOOLEANA: COMANDOS_1 else: COMANDOS_2

Slide 51

Slide 51 text

Seleção unária: omissão do else if EXPRESSÃO BOOLEANA: COMANDOS_1 COMANDOS_2

Slide 52

Slide 52 text

Condicionais Aninhados if EXPRESSÃO BOOLEANA: COMANDOS_1 else: if EXPRESSÃO BOOLEANA: COMANDOS_2 else: COMANDOS_3

Slide 53

Slide 53 text

Condicionais Encadeados if EXPRESSÃO BOOLEANA: COMANDOS_1 elif EXPRESSÃO BOOLEANA: COMANDOS_2 else: COMANDOS_3

Slide 54

Slide 54 text

Hora de praticar!

Slide 55

Slide 55 text

Escreva um programa para determinar se um triângulo é equilátero, isósceles ou escaleno. As entradas devem ser dadas pelo usuário.

Slide 56

Slide 56 text

Repetição

Slide 57

Slide 57 text

Laço for for in :

Slide 58

Slide 58 text

Laço while while :

Slide 59

Slide 59 text

Hora de praticar!

Slide 60

Slide 60 text

Imprima os números pares de 0 a 100. Faça um programa com “for” e outro programa com “while”.

Slide 61

Slide 61 text

Funções

Slide 62

Slide 62 text

Construindo uma função def NOME_DA_FUNCAO( LISTA DE PARAMETROS ) : COMANDOS

Slide 63

Slide 63 text

Chamando uma função NOME_DA_FUNCAO( LISTA DE PARAMETROS )

Slide 64

Slide 64 text

Hora de praticar!

Slide 65

Slide 65 text

Escreva uma função chamada “sumAll” para somar todos os números de uma lista. A lista deve ser preenchida pelo usuário fora da função e deve ser passada como parâmetro da função.

Slide 66

Slide 66 text

Classes

Slide 67

Slide 67 text

Construindo uma classe class NOME_DA_CLASSE: def __init__(self, ARGUMENTOS): self.ARGUMENTOS COMANDOS

Slide 68

Slide 68 text

Chamando uma classe NOME_DA_CLASSE( LISTA DE PARAMETROS )

Slide 69

Slide 69 text

Hora de praticar!

Slide 70

Slide 70 text

Crie uma classe “animal” e instancie um objeto “gato” outro “cachorro” e outro “galinha”. A classe animal deve ter os atributos nome do animal e som. Imprima cada um.

Slide 71

Slide 71 text

Mini-Projeto__

Slide 72

Slide 72 text

Crie um programa que simule o funcionamento básico de uma conta. O programa deverá: ➔ Ter um menu com as opções: ◆ Cadastrar clientes com os campos número da conta, senha e saldo; ◆ Fazer saque/depósito/transferir na conta, apenas se o usuário for autenticado, ou seja, existir no cadastro e a conta e senha forem correspondentes ao cadastrado; ◆ Imprimir as informações do cliente; Observações: ➔ Deve ser verificado se a conta está com o saldo suficiente para saque ou transferência, é proibido o saldo negativo na conta. Se o saldo for insuficiente para saque ou transferência, exibir um alerta.

Slide 73

Slide 73 text

Referências ➔ Aprenda Computação com Python’s documentation! (https://aprendendo-computacao-com-python.readthedocs. io/en/latest/index.html) ➔ Como pensar como um cientista da computação (https://panda.ime.usp.br/pensepy/static/pensepy/index.ht ml#listas)

Slide 74

Slide 74 text

Obrigada!__