minicurso: python e suas baterias incluídas

Post on 04-Jul-2015

841 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

luizaugustomm@gmail.com

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]

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]

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!

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

Conhecendo

o Python

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]

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]

[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]

Aplicativos para web

Pra que serve o Python?

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

[10/51]

Jogos

Pra que serve o Python?

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

[11/51]

[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]

Robôs

Pra que serve o Python?

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

[13/51]

Computação científica

Pra que serve o Python?

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

[14/51]

Educação

Pra que serve o Python?

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

[15/51]

Quem usa Python no Brasil

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

[16/51]

Quem usa Python no Mundo

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

[17/51]

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]

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]

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]

Comparando os códigos...

print('Olá, mundo!')

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

[21/51]

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]

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)...

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)

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

A linguagem

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!

;

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{ }

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!

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]

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]

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]

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]

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]

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]

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]

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.

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

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

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

>>> 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]

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

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

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]

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

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

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çã']

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çã

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

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

Obrigado!

top related