Upload
luiz-augusto-macedo-morais
View
841
Download
0
Embed Size (px)
Citation preview
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
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!