• Nenhum resultado encontrado

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015

N/A
N/A
Protected

Academic year: 2021

Share "PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015"

Copied!
47
0
0

Texto

(1)
(2)

O QUE É PYTHON?

• Python é uma linguagem de propósito geral, de alto nível e interpretada

• Python será nossa ferramenta para aprender a programar e resolver problemas

(texto em linguagem Python) (descrição do programa)

(script)

(interpretador da linguagem Python)

(3)

O QUE É PYTHON?

• Interpretador para linguagem Python no Windows: python.exe

(4)

O QUE É PYTHON?

• Envia comandos em linguagem Python para o interpretador apenas digitando no

console:

>>> print ‘vamos começar’

>>> print ‘a programar um computador’

(5)

• Objeto: elementos manipulados pelas instruções da linguagem Python

• Tipo: associado a cada objeto, define o conjunto de operações permitidas para

manipulação do objeto:

• Não escalar: objetos de estrutura interna complexa

• Escalar: objetos indivisíveis (como os átomos da linguagem)

int

usado para representar números inteiros

float

usado para representar números reais

bool

usado para representar valores booleanos

True

e

False

None

usado para representar um valor nulo

(6)

• Expressões: associação de objetos e operadores

• Toda expressão resulta em um novo objeto (associado a um tipo)

• Você pode descobrir o tipo de um objeto através da função type()

OBJETOS, EXPRESSÕES E TIPOS NUMÉRICOS

>>> 3+3

>>> 3.0+2.0

(valor: objeto 5 | tipo:

int

)

(valor: objeto 5.0 | tipo:

float

)

(7)

OPERADORES ARITMÉTICOS

Operador

Tipo i

Tipo j

Tipo resultado

i == j i != j

bool

bool

bool

i + j

int

int

int

float

float

float

float

int

float

i - j

int

int

int

float

float

float

(8)

OPERADORES ARITMÉTICOS

Operador

Tipo i

Tipo j

Tipo resultado

i % j

int

int

int

float

float

float

float

int

float

i / j

int

int

int

float

float

float

(9)

OPERADORES ARITMÉTICOS

Operador

Tipo i

Tipo j

Tipo resultado

i * j

int

int

int

float

float

float

float

int

float

i > j i < j

i >= j i <= j

int

int

bool

Float

float

bool

(10)

OPERADORES LÓGICOS

Operador

Tipo i

Tipo j

Tipo resultado

i and j

bool

bool

bool

i or j

bool

bool

bool

(11)

• Através das variáveis pode-se associar nomes (referência) a objetos

VARIÁVEIS E ATRIBUIÇÕES

>>> pi = 3.1415

>>> raio = 11.4

>>> área = pi*(raio**2)

Você é livre para escolher o nome de suas variáveis. Mas isto vai implicar

na facilidade/dificuldade de leitura do seu código. Ex.:

>>> z = 3.1415

>>> x = 11.4

(12)

• Variáveis podem ser nomeadas de (quase) qualquer maneira

• não podem começar com um digito

• deve-se respeitar as palavras reservadas da linguagem: and, as, assert, break,

class, continue, def, del, elif, else, except, exec, finally, for, from, global, if,

import, in, is, lambda, not, or, pass, print, raise, return, try, with, while, and

yield.

• Python permite atribuições múltiplas:

VARIÁVEIS E ATRIBUIÇÕES

>>> x,y = 2,3

>>> x,y = y,x

>>> print ‘x=‘,x

>>> print ‘y=‘,y

(13)

INTEGRATED DEVELOPMENT ENVIROMENT

(IDE)

• Criar programas diretamente no interpretador pode ser bastante inconveniente

• IDLE: IDE padrão instalada junto com Python

• C:\Python27\Lib\idlelib\idle.py

(14)

INTEGRATED DEVELOPMENT ENVIROMENT

(IDE)

(15)

INTEGRATED DEVELOPMENT ENVIROMENT

(IDE)

(16)

INTEGRATED DEVELOPMENT ENVIROMENT

(IDE)

(17)

INTEGRATED DEVELOPMENT ENVIROMENT

(IDE)

(18)

INTEGRATED DEVELOPMENT ENVIROMENT

(IDE)

• PyCharm: ambiente integrado para construção, execução e depuração de código.

• Download: https://www.jetbrains.com/pycharm/download/

(19)

INTEGRATED DEVELOPMENT ENVIROMENT

(IDE)

(20)

INTEGRATED DEVELOPMENT ENVIROMENT

(IDE)

(21)

INTEGRATED DEVELOPMENT ENVIROMENT

(IDE)

(22)

INTEGRATED DEVELOPMENT ENVIROMENT

(IDE)

(23)

INTEGRATED DEVELOPMENT ENVIROMENT

(IDE)

(24)

INTEGRATED DEVELOPMENT ENVIROMENT

(IDE)

(25)

CONTROLE DE FLUXO DO CÓDIGO

• Os códigos vistos até agora possuem fluxo único

• Para resolver problemas reais, precisamos seguir diferentes fluxos de acordo com

condições encontradas

(26)

CONTROLE DE FLUXO DO CÓDIGO

if <expressão booleana>:

<bloco de código>

else:

<bloco de código>

paridade.py

x = 22

if x % 2 == 0:

print x, "e um numero par"

else:

print x, "e um numero impar"

print "Programa encerrado"

(27)

IDENTAÇÃO

if <expressão booleana>:

<linha de código 1>

<linha de código 1>

• Possui valor semântico em Python

if <expressão booleana>:

<linha de código 1>

<linha de código 1>

(28)

IDENTAÇÃO

if x%2 == 0:

if x%3 == 0:

print ‘divisivel por 2 e por 3’

else:

print ‘divisivel por 2 mas nao por 3’

elif x%3 == 0:

(29)

TIPO Str

• Objetos do tipo

str

representa string de caracteres: ‘abc’, “abc”, ‘123’, ...

• Avalie as seguintes expressões na janela do interpretador

• Os operadores + e * possuem significados diferentes quando aplicados a objetos de

tipos diferentes. Dizemos que ocorreu um overload de operador.

>>> ‘a’

>>> 3*4

>>> 3*’a’

>>> 2+2

(30)

TIPO Str

• Manipulação de strings

tamanho:

• indexação:

• divisão:

>>> len(‘abc’)

3

>>> ‘abc’[0]

‘a’

>>> 'www.youtube.com'[4:11]

'youtube'

(31)

INPUT (ENTRADA)

• Interação com usuário através da linha de comando do interpretador

>>> name = raw_input(‘Digite o seu nome’)

>>> print ‘Ola Sr(a)’,name

>>> ano = int(raw_input(‘Digite o seu ano de nascimento’))

>>> idade = 2015-ano

(32)

ITERAÇÕES

(33)

ITERAÇÕES

• Quando um trecho de código precisa ser executado mais de uma vez

• O que o seguinte trecho de código faz?

x = 3

y = 2

iteracoes_restantes = y

resposta = 0

while iteracoes_restantes > 0:

resposta = resposta + x

iteracoes_restantes = iteracoes_restantes – 1

while <expressão booleana>:

(34)

ITERAÇÕES

• O comando for pode facilitar a criação de iterações quando já se sabe inicialmente o

número de iterações necessárias.

• Teste no interpretador Python os seguintes comandos para gerar sequencias:

for <variável> in <sequencia>:

<bloco de código>

>>> (0,1,2)

>>> range(0,7)

>>> range(7)

(35)

ITERAÇÕES

letra = 'a'

frase = 'would you like to learn tango, Dona?'

count = 0

for k in range(len(frase)):

if frase[k]=='a':

count = count + 1

freq = float(count)/len(frase)

(36)

DÚVIDAS COM NOVO IDIOMA?

• O que você faz quando está com dúvida para escrever um texto em inglês, espanhol

ou francês?

(37)

DÚVIDAS COM NOVO IDIOMA?

• TODA documentação sintática e semântica da linguagem Python está disponível

online!!

(38)
(39)
(40)

EXERCÍCIO I

Múltiplos de 3 e de 5

Se listarmos todos os números naturais abaixo de 10 que são múltiplos de 3 ou 5,

teremos

Faça um programa para listar todos os números naturais menores de 100 que são

múltiplos de 3 ou de 5

(41)

EXERCÍCIO I

Múltiplos de 3 e de 5 (Solução)

for k in range(1,x):

if k % 3 == 0 or k % 5 == 0:

print k,

(42)

EXERCÍCIO II

String inversa

(43)

EXERCÍCIO II

String inversa (Soução)

frase = 'I\'m gonna make him an offer he can\'t refuse'

saida = ''

for k in range(len(frase)):

saida = saida + frase[len(frase) - 1 - k]

print 'ordem inversa:', saida

(44)

EXERCÍCIO II

Nenhuma vogal

(45)

EXERCÍCIO II

Nenhuma vogal (Solução)

frase = 'For justice, we must go to Don Corleone!'

saida = ''

for k in range(len(frase)):

if frase[k] != 'a' and frase[k] != 'e' and frase[k] != 'i'

and frase[k] != 'o' and frase[k] != 'u':

saida += frase[k]

print saida

(46)
(47)

BIBLIOGRAFIA

• John V. Guttag, Introduction to Computation and Programming Using Python. Spring 2013

Edition.

Referências

Documentos relacionados