51
Python e suas baterias incluídas Universidade Estadual Paraíba II Encontro de Licenciatura em Computação | II ELIC Apresentação Luiz Augusto de Macêdo Morais [email protected]

Minicurso: Python e suas baterias incluídas

Embed Size (px)

Citation preview

Page 1: Minicurso: Python e suas baterias incluídas

Pythone suas baterias incluídas

Universidade Estadual Paraíba II Encontro de Licenciatura em Computação | II ELIC

ApresentaçãoLuiz Augusto de Macêdo Morais

[email protected]

Page 2: Minicurso: Python e suas baterias incluídas

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

Requisitos

●Eu vou assumir que...

● Todos já pagaram pelo menos P1;● Gostam de programar;● Sabem conceitos básicos de estruturas de dados;● Sabem o que é uma função;

●Eu não vou assumir que vocês saibam Python!

[2/51]

Page 3: Minicurso: Python e suas baterias incluídas

Público-alvo

●Devem participar deste minicurso...

● Programadores que querem conhecer o potencial da linguagem Python;

● Gente que quer se divertir programando;

● Pessoas que querem produzir alguma coisa de “futuro”

●Quem não deve participar...

● Quem gostar de gets, sets, interfaces e public static void main()'s da vida!

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[3/51]

Page 4: Minicurso: Python e suas baterias incluídas

Quem sou eu?

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[4/51]

●Estudante do 7º período de Licenciatura em Computação da UEPB;

●Conhece Python há três anos;

●Adora Inteligência Artificial;

●Gosta de programar bebendo com os amigos;

●Odeia Java!

Page 5: Minicurso: Python e suas baterias incluídas

Roteiro

Conhecendo o Python

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[5/51]

O que é Python?

História da linguagem

Pra que serve o Python?

Quem usa Python?

Instalação e versões

Comparando os códigos

“Olá mundo” diferente

Como executar?

A linguagemRegras básicas de sintaxe

Usando o interpretador interativo

If's, elif's e else's da vida

For e while pra repetirStrings e listas

Funções

1 2

Page 6: Minicurso: Python e suas baterias incluídas

Conhecendo

o Python

Page 7: Minicurso: Python e suas baterias incluídas

O que é Python?

●Interpretada;

●Interativa;

●Multi paradigma;

●Tipagem dinâmica;

●Fortemente tipada;

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[7/51]

Page 8: Minicurso: Python e suas baterias incluídas

História

●Criada em 1989 por Guido van Rossum;

●Influenciada pela linguagem ABC;

●Inspirada no programa britânico Monty Python's Flying Circus;

●Nasceu para ser fácil (Projeto Amoeba);

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[8/51]

Page 9: Minicurso: Python e suas baterias incluídas

[9/51]

Aplicativos para desktop

Pra que serve o Python?

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[9/51]

Page 10: Minicurso: Python e suas baterias incluídas

Aplicativos para web

Pra que serve o Python?

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[10/51]

Page 11: Minicurso: Python e suas baterias incluídas

Jogos

Pra que serve o Python?

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[11/51]

Page 12: Minicurso: Python e suas baterias incluídas

[12/51]

Aplicativos móveis

Pra que serve o Python?

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[12/51]

Page 13: Minicurso: Python e suas baterias incluídas

Robôs

Pra que serve o Python?

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[13/51]

Page 14: Minicurso: Python e suas baterias incluídas

Computação científica

Pra que serve o Python?

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[14/51]

Page 15: Minicurso: Python e suas baterias incluídas

Educação

Pra que serve o Python?

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[15/51]

Page 16: Minicurso: Python e suas baterias incluídas

Quem usa Python no Brasil

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[16/51]

Page 17: Minicurso: Python e suas baterias incluídas

Quem usa Python no Mundo

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[17/51]

Page 18: Minicurso: Python e suas baterias incluídas

Instalando Python no Linux

●A maioria das distribuições vem com ele instalado

●No Ubuntu: sudo apt-get install python

●Se não conseguir, vá no site oficial: http://www.python.org/download/

[18/51]Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[18/51]

Page 19: Minicurso: Python e suas baterias incluídas

Instalando Python no Windows

●O python não vem instalado por padrão

●Acesse site oficial: http://www.python.org/download/

●Baixe a versão 2.x mais recente para ter uma maior compatibilidade;

●Ou baixe a versão 3.x se quiser as funcionalidades mais recentes;

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[19/51]

Page 20: Minicurso: Python e suas baterias incluídas

Comparando os códigos...

public class Main { public static void main(String args[]) { System.out.print(“Olá, mundo!”); }}

int main() { printf(“Olá, mundo!\n”);}

program main;begin

write('Olá, mundo!');end.

IDENTIFICATION DIVISION.PROGRAM-ID. HELLO-WORLD. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION.DISPLAY "Olá, Mundo!".STOP RUN.

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[20/51]

Page 21: Minicurso: Python e suas baterias incluídas

Comparando os códigos...

print('Olá, mundo!')

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[21/51]

Page 22: Minicurso: Python e suas baterias incluídas

Olá mundo diferente...

from datetime import datetimefrom time import sleep

while True: hora = datetime.now() print hora.strftime('%H:%M:%S') sleep(1)

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[22/51]

Page 23: Minicurso: Python e suas baterias incluídas

Como executar (modo interativo)

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[23/51]

$ python3

>>> from datetime import datetime>>> from time import sleep>>> while True:... hora = datetime.now()... print hora.strftime('%H:%M:%S')... sleep(1)...

Page 24: Minicurso: Python e suas baterias incluídas

Como executar (script/código-fonte)

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[24/51]

from datetime import datetimefrom time import sleep

while True: hora = datetime.now() print(hora.strftime('%H:%M:%S')) sleep(1)

Page 25: Minicurso: Python e suas baterias incluídas

Como executar (script/código-fonte)

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[25/51]

relogio.py

$ python3 relogio.py

Page 26: Minicurso: Python e suas baterias incluídas

A linguagem

Page 27: Minicurso: Python e suas baterias incluídas

Regras básicas de sintaxe

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[27/51]

Sem ponto e vírgula no final dos comandos!

;

Page 28: Minicurso: Python e suas baterias incluídas

Regras básicas de sintaxe

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[28/51]

Sem delimitadores de código!

begin

end{ }

Page 29: Minicurso: Python e suas baterias incluídas

Regras básicas de sintaxe

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[29/51]

A endentação/indentação é obrigatória!

Page 30: Minicurso: Python e suas baterias incluídas

Usando o Interpretador Interativo [1/7]

>>> 34 + 236>>> 4 – 5.5-1.5>>> 3 * 1133>>> 5 / 22.5>>> 5 // 22>>> 4 % 20

Fazendo cálculos

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[30/51]

Page 31: Minicurso: Python e suas baterias incluídas

Usando o Interpretador Interativo [2/7]

>>> type(36)<class 'int'>>>> type(55.2)<class 'float'>>>> type(2 == 3)<class 'bool'>>>> type('a')<class 'str'>>>> type('ELIC')<class 'str'>

Tipos de dados

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[31/51]

Page 32: Minicurso: Python e suas baterias incluídas

Usando o Interpretador Interativo [3/7]

>>> numero = 2>>> soma = numero + 3>>> soma /= 2>>> soma2.5>>> palavra = 'elic'>>> palavra'elic'>>> numero / 0Traceback (most recent call last): File "<stdin>", line 1, in <module>ZeroDivisionError: division by zero

Manipulando variáveis

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[32/51]

Page 33: Minicurso: Python e suas baterias incluídas

Usando o Interpretador Interativo [4/7]

>>> nomeTraceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 'nome' is not defined>>> nome = 'Luiz Augusto'>>> nome'Luiz Augusto'

Manipulando variáveis

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[33/51]

Page 34: Minicurso: Python e suas baterias incluídas

Usando o Interpretador Interativo [5/7]

>>> frase = 'Olá mundo!'>>> print(frase)Olá mundo!>>> print(1 – 3)-2>>> print('elic')elic>>> print()

>>>

Comando de saída

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[34/51]

Page 35: Minicurso: Python e suas baterias incluídas

Usando o Interpretador Interativo [6/7]

>>> nome = input('Insira seu nome: ')Insira seu nome: Luiz Augusto>>> print('Meu nome é %s' % nome)Meu nome é Luiz Augusto>>> idade = input('Idade: ')Idade: 18>>> idade + 2Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: Can't convert 'int' object to str implicitly

Comando de entrada

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[35/51]

Page 36: Minicurso: Python e suas baterias incluídas

Usando o Interpretador Interativo [7/7]

>>> idade = input('Idade: ')Idade: 18>>> idade'18'>>> type(idade)<class 'str'>>>> idade = int(idade)>>> type(idade)<class 'int'>>>> idade + 220

Convertendo tipos

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[36/51]

Page 37: Minicurso: Python e suas baterias incluídas

Desafio

Mensagenssecretas

Você terá que criar um programa em Python que criptografe sua mensagem e depois envie a mensagem criptografada para seu amigo por e-mail.Ao receber a mensagem, seu amigo terá que descriptografá-la e lê-la.

Acesse os códigos na minha página de apresentações.

Page 38: Minicurso: Python e suas baterias incluídas

If's, elif's e else's da vida [1/4]

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[38/51]

if <condição>:<bloco do if>

<condição> = expressão lógica

Use endentação!

Sintaxe

Page 39: Minicurso: Python e suas baterias incluídas

If's, elif's e else's da vida [2/4]

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[39/51]

if <condição>:<bloco do if>

else:→<bloco do else>

Sintaxe

Page 40: Minicurso: Python e suas baterias incluídas

If's, elif's e else's da vida [3/4]

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[40/51]

if <condição>:<bloco do if>

elif <condição>:→<bloco do elif>else:→<bloco do else>

Sintaxe

Page 41: Minicurso: Python e suas baterias incluídas

>>> idade = input('Idade: ')Idade: 18>>> tem_carteira = False>>> if idade < 18:... print('Ainda não pode dirigir')... elif idade < 90:... if tem_carteira:... print('Ok, pode dirigir')... else:... print('Ôps, sem carteira não pode!')... else:... print('Está muito velho pra dirigir')...Ôps, sem carteira não pode!

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[41/51]

If's, elif's e else's da vida [4/4]

Page 42: Minicurso: Python e suas baterias incluídas

For e while para repetir [1/3]

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[42/51]

for <elemento> in <iterável>:→<bloco do for>

Sintaxe

Page 43: Minicurso: Python e suas baterias incluídas

For e while para repetir [2/3]

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[43/51]

while <condição>:→<bloco do while>

Sintaxe

Page 44: Minicurso: Python e suas baterias incluídas

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[44/51]

>>> for i in range(3, 0, -1):... print(i)...321>>> c = 3>>> while c:... print(c)... c -= 1...

For e while para repetir [3/3]

Page 45: Minicurso: Python e suas baterias incluídas

Strings e listas [1/4]

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[45/51]

>>> nome = 'Luiz Augusto'>>> nome[0]'L'>>> nome[-1]'o'>>> nome[0:4]'Luiz'>>> novo_nome = nome.replace('Augusto', 'Gustavo')>>> print(novo_nome, nome)Luiz Gustavo Luiz Augusto

Page 46: Minicurso: Python e suas baterias incluídas

Strings e listas [2/4]

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[46/51]

>>> for letra in nome[0:4]:... print(letra)...Luiz

Page 47: Minicurso: Python e suas baterias incluídas

Strings e listas [3/4]

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[47/51]

>>> frutas = ['Pera', 'Uva', 'Maçã']>>> nova_fruta = 'Laranja'>>> frutas.append(nova_fruta)>>> frutas.insert(1, 'Mamão')>>> frutas.remove('Pera')>>> frutas.pop()'laranja'>>> print(frutas)['Mamão', 'Uva', 'Maçã']

Page 48: Minicurso: Python e suas baterias incluídas

Strings e listas [4/4]

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[48/51]

>>> for fruta in frutas:... print(fruta)...MamãoUvaMaçã

Page 49: Minicurso: Python e suas baterias incluídas

Funções

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[49/51]

def <nome-da-função>(<parametros>):→<bloco da função>

Sintaxe

Page 50: Minicurso: Python e suas baterias incluídas

Funções

Python e suas baterias incluídasII ELIC | Encontro de Licenciatura em Computação

[50/51]

>>> def fatorial(numero):... fat = 1... while numero > 0:... fat *= numero... numero -= 1... return fat... >>> fatorial(3)6>>> fatorial(4)24

Page 51: Minicurso: Python e suas baterias incluídas

Obrigado!