Minicurso Básico de Python - PythonDay
Apresentação
Diego Leite Dilan Nery
dnerylopes@gmail.comdiegojleite@gmail.com
Cronograma
❏ Introdução ao Python
❏ Estruturas de controle e de
repetição
❏ Tipos básicos
❏ Funções e arquivos
Histórico
❏ Guido van Rossum
❏ Versão 1.0 em 1994
❏ Principal objetivo
❏ Aumentar a
produtividade do
programador
❏ Hoje o Python está
na versão 3.0
Shell
Script
Estruturas de Controle e rep.
1. Condições
1.1. if
1.2. else
1.3. elif
2. Repetições
2.1. while
2.2. Contador
2.3. Acumulador
2.4. Interrupção
2.5. for
Estruturas de Controle e rep.
print (“Olá”)
print (“Tudo bem?”)
Condições - if
Estruturas de Controle e rep.
Condições - if
Estruturas de Controle e rep.
# Ler 2 valores inteiros e imprimir
o maior deles.
Condições - if
a = int(input(“Digite a: ”))
b = int(input(“Digite b: ”))
if a > b:
print (“A é o maior!”)
if b > a:
print (“B é o maior!”)
Estruturas de Controle e rep.
# Ler 2 valores inteiros e imprimir
o maior deles.
Condições - else
a = int(input(“Digite a: ”))
b = int(input(“Digite b: ”))
if a > b:
print (“A é o maior!”)
else:
print (“B é o maior!”)
Estruturas de Controle e rep.
# Uma empresa de internet discada
cobra R$ 0,20 centavos por pulso,
quando a conta vem abaixo de 200
minutos. Entre 200 e 400 min, o
preço é de R$ 0,18. Acima de 400
min o preço cai para R$ 0,15.
Calcule o preço de uma conta.
Condições - Estruturas aninhadas
Estruturas de Controle e rep.
m = int(input(“Digite m: ”))
if m < 200:
preco = 0.20
else:
if m <= 400:
preco = 0.18
else:
preco = 0.15
print (“Conta: %d” % (m*preco))
Condições - Estruturas aninhadas
Estruturas de Controle e rep.
# A empresa de internet criou uma
promoção onde, contas acima de 800
minutos pagam R$ 0,08 o minuto.
Condições - Estruturas aninhadas
Estruturas de Controle e rep.
Condições - Estruturas aninhadas
m = int(input(“Digite m: ”))
if m < 200:
preco = 0.20
else:
if m <= 400:
preco = 0.18
else:
if m <= 800:
preco = 0.15
else:
preco = 0.08
print (“Conta: %d” % (m*preco))
Estruturas de Controle e rep.
# A cláusula elif substitui um else
if seguido.
Condições - elif
m = int(input(“Digite m: ”))
if m < 200:
preco = 0.20
elif m <= 400:
preco = 0.18
elif m <= 800:
preco = 0.15
else:
preco = 0.08
print (“Conta: %d” % (m*preco))
Estruturas de Controle e rep.
Exercícios!
Estruturas de Controle e rep.
# Imprimindo de 1 a 3
Repetições
# Modo Simples
print (1)
print (2)
print (3)
Estruturas de Controle e rep.
# Imprimindo de 1 a 3
Repetições
# Utilizando uma variável
x = 1
print (x)
x = 2
print (x)
x = 3
print (x)
Estruturas de Controle e rep.
# Imprimindo de 1 a 3
Repetições
# Incrementando a variável
x = 1
print (x)
x = x + 1
print (x)
x = x + 1
print (x)
Estruturas de Controle e rep.
# Imprimindo de 1 a 3
Repetições - while
# Usando while
x = 1
while x <= 3:
print (x)
x = x + 1
Estruturas de Controle e rep.
# Imprimir os números pares entre 0 e um
número fornecido usando if.
Repetições - Contadores
fim = int(input(“Digite um número: ”))
n = 0
while n <= fim:
if n % 2 == 0:
print (“N: %d” % (n))
n = n + 1
Estruturas de Controle e rep.
# Cálculo da soma de dez números inteiros.
Repetições - Acumulador
n = 0
soma = 0
while n < 10:
num = int(input(“Digite um número: ”)
soma = soma + num
n = n + 1
print (“Total: %d” % (soma))
Estruturas de Controle e rep.
# Calcule a soma dos números inteiros até
ser digitado 0 (ZERO).
Repetições - Interrupção
soma = 0
while True:
num = int(input(“Digite um número: ”)
if num == 0:
break
soma = soma + num
print (“Total: %d” % (soma))
Estruturas de Controle e rep.
Repetições - For*
for letra in ‘aeiou’:
print (letra)
>>>
a
e
i
o
u
texto = ‘aeiou’
k = 0
while k < len(texto):
letra = texto[k]
print (letra)
k = k + 1
>>>
a
e
i
o
u
Estruturas de Controle e rep.
Exercícios!
Tipos básicos
1. Numeros
1.1. int
1.2. float
1.3. complex
2. String
4. Conjuntos
4.1. Lista
4.2. Tupla
4.3. Dicionários
3. Boolean
Tipos básicos
>>> type(1)
<type ‘int’>
>>> type(7.5)
<type ‘float’>
>>> type(1e5)
<type ‘float’>
>>> type(20+5j)
<type ‘complex’>
>>>
Números
Tipos básicos
>>> spam = “eggs”
>>> type(spam)
<type ‘str’>
>>> spam + “ bacon”
‘eggs bacon’
>>> spam[0]
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
TypeError: ‘str’ object does not supprt item
assignment
Strings
Tipos básicos
>>> type(True)
<type ‘bool’>
>>> type(False)
<type ‘bool’>
>>> bool(0)
False
>>> bool(0.0)
False
>>> bool(0+0j)
False
>>> bool(“”)
False
>>> bool([])
False
>>> bool({})
False
>>> bool(())
False
Boolean
Tipos básicos
Listas
Tipos básicos
Listas
>>> type([])
<type ‘list’>
>>> spam = [‘eggs’, ‘bacon’]
>>> spam[0]
‘eggs’
>>> spam[1] = ‘spam’
>>> spam
[‘eggs’, ‘spam’]
>>> len(spam)
2
Tipos básicos
Listas
>>> spam[2] = 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
>>> spam.append(1)
>>> spam[2]
1
>>> spam
[‘eggs’, ‘spam’, 1]
>>> len(spam)
3
Tipos básicos
Tuplas
>>> type(())
<type ‘tuple’>
>>> spam = (‘eggs’, ‘bacon’)
>>> spam[0]
‘eggs’
>>> spam[1] = ‘spam’
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item
assignment
Tipos básicos
Tuplas
>>> spam
(‘eggs’, ‘bacon’)
>>> spam.append(1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute
'append'
>>> spam = spam + (1,)
>>> spam
(‘eggs’, ‘bacon’, 1)
Tipos básicos
Dicionário
Tipos básicos
Dicionário
>>> type({})
<type ‘dict’>
>>> spam = {‘nome’:’João’,’idade’:32,’apelidos’:[‘jô’,
‘joãozinho’]}
>>> spam[nome]
‘João’
>>> spam[idade] = 33
>>> spam
{'idade': 33, 'apelidos': ['joão', 'joãozinho'],
'nome': 'João'}
Tipos básicos
Dicionário
>>> spam[‘endereco’] = ‘Rua J’
>>> spam
{'idade': 33, 'enderexc3xa7o': 'Rua J', 'apelidos':
['jxc3xb4', 'joxc3xa3ozinho'], 'nome':
'Joxc3xa3o'}
Tipos básicos
Mais Exercícios!
Funções e arquivos
1. Funções
1.1. Funções
1.2. Escopo de
variável
1.3. Números
aleatórios
1. Arquivos
1.1. Leitura e
escrita em
arquivos.
Funções e arquivos
# Utilizamos def para definir uma função e
return para devolver algum valor.
Funções
def ehpar(x):
return x % 2 == 0
>>> ehpar(20)
True
>>> ehpar(19)
False
Funções e arquivos
# Defina uma função fatorial
Funções
def fat(n):
f = 1
while n > 0:
f = f * n
n = n - 1
return f
>>> for i in range(3): print( fat(i) )
1
1
2
Funções e arquivos
# a = 5 e a = 7 são variáveis diferentes!
Funções - Escopo de variáveis
a = 5
def muda_e_imprime():
a = 7
print (“a dentro da funcao: %d” %a)
print (“antes da funcao: %d” %a)
muda_e_imprime()
print (“depois da funcao: %d” %a)
Funções e arquivos
# a = 5 é colocada como global e modificada
dentro da função.
Funções - Escopo de variáveis
a = 5
def muda_e_imprime():
global a
a = 7
print (“a dentro da funcao: %d” %a)
print (“antes da funcao: %d” %a)
muda_e_imprime()
print (“depois da funcao: %d” %a)
Funções e arquivos
# É necessário importar o módulo random
Funções - Números aleatórios
>>> import random
>>> random.randomint(1, 50)
13
>>> nomes = [‘Diego’, ‘Amanda’, ‘Dilan’, ‘Gaby’]
>>> random.choice(nomes)
‘Amanda’
>>> random.shuffle(nomes)
[‘Amanda’, ‘Gaby’, ‘Dilan’, ‘Diego’]
Funções e arquivos
FUUUUUUUUUU!!!! Exercícios! o/
Funções e arquivos
# Estes são os principais métodos para a
leitura e escrita de um arquivo.
Arquivos - principais métodos
❏ read(): como visto acima, retorna uma string única com
todo o conteúdo do arquivo.
❏ readline(): retorna a próxima linha do arquivo, e
incrementa a posição atual.
❏ readlines(): retorna todo o conteúdo do arquivo em uma
lista, uma linha do arquivo por elemento da lista.
Funções e arquivos
# Estes são os principais métodos para a
leitura e escrita de um arquivo.
Arquivos - principais métodos
❏ write(data): escreve a string data para o arquivo, na
posição atual ou ao final do arquivo, dependendo do
modo de abertura. Esta função falha se o arquivo foi
aberto com modo `r'.
❏ close(): fecha o arquivo.
Funções e arquivos
# Estes são os principais métodos para a
leitura e escrita de um arquivo.
Arquivos - principais métodos
arquivo = open('numeros.txt', 'r')
for linha in arquivo.readlines():
print(linha)
arquivo.close()
Funções e arquivos
Exercícios! .o/
Conclusões
# Curso Python para Zumbis: http://pycursos.
com/python-para-zumbis/
# Learn Python the Hard Way:
http://learnpythonthehardway.org/
# Python para Desenvolvedores: http://ark4n.
wordpress.com/python/
# Documentação:https://www.python.org/
Onde posso aprender mais?
Conclusões
E os próximos eventos?
http://praticasdesoftware.com.br
Conclusões
E os próximos eventos?
http://2014.pythonnordeste.org/

Minicurso Básico de Python - PythonDay

  • 1.
    Minicurso Básico dePython - PythonDay
  • 2.
    Apresentação Diego Leite DilanNery dnerylopes@gmail.comdiegojleite@gmail.com
  • 3.
    Cronograma ❏ Introdução aoPython ❏ Estruturas de controle e de repetição ❏ Tipos básicos ❏ Funções e arquivos
  • 4.
    Histórico ❏ Guido vanRossum ❏ Versão 1.0 em 1994 ❏ Principal objetivo ❏ Aumentar a produtividade do programador ❏ Hoje o Python está na versão 3.0
  • 5.
  • 6.
  • 7.
    Estruturas de Controlee rep. 1. Condições 1.1. if 1.2. else 1.3. elif 2. Repetições 2.1. while 2.2. Contador 2.3. Acumulador 2.4. Interrupção 2.5. for
  • 8.
    Estruturas de Controlee rep. print (“Olá”) print (“Tudo bem?”) Condições - if
  • 9.
    Estruturas de Controlee rep. Condições - if
  • 10.
    Estruturas de Controlee rep. # Ler 2 valores inteiros e imprimir o maior deles. Condições - if a = int(input(“Digite a: ”)) b = int(input(“Digite b: ”)) if a > b: print (“A é o maior!”) if b > a: print (“B é o maior!”)
  • 11.
    Estruturas de Controlee rep. # Ler 2 valores inteiros e imprimir o maior deles. Condições - else a = int(input(“Digite a: ”)) b = int(input(“Digite b: ”)) if a > b: print (“A é o maior!”) else: print (“B é o maior!”)
  • 12.
    Estruturas de Controlee rep. # Uma empresa de internet discada cobra R$ 0,20 centavos por pulso, quando a conta vem abaixo de 200 minutos. Entre 200 e 400 min, o preço é de R$ 0,18. Acima de 400 min o preço cai para R$ 0,15. Calcule o preço de uma conta. Condições - Estruturas aninhadas
  • 13.
    Estruturas de Controlee rep. m = int(input(“Digite m: ”)) if m < 200: preco = 0.20 else: if m <= 400: preco = 0.18 else: preco = 0.15 print (“Conta: %d” % (m*preco)) Condições - Estruturas aninhadas
  • 14.
    Estruturas de Controlee rep. # A empresa de internet criou uma promoção onde, contas acima de 800 minutos pagam R$ 0,08 o minuto. Condições - Estruturas aninhadas
  • 15.
    Estruturas de Controlee rep. Condições - Estruturas aninhadas m = int(input(“Digite m: ”)) if m < 200: preco = 0.20 else: if m <= 400: preco = 0.18 else: if m <= 800: preco = 0.15 else: preco = 0.08 print (“Conta: %d” % (m*preco))
  • 16.
    Estruturas de Controlee rep. # A cláusula elif substitui um else if seguido. Condições - elif m = int(input(“Digite m: ”)) if m < 200: preco = 0.20 elif m <= 400: preco = 0.18 elif m <= 800: preco = 0.15 else: preco = 0.08 print (“Conta: %d” % (m*preco))
  • 17.
    Estruturas de Controlee rep. Exercícios!
  • 18.
    Estruturas de Controlee rep. # Imprimindo de 1 a 3 Repetições # Modo Simples print (1) print (2) print (3)
  • 19.
    Estruturas de Controlee rep. # Imprimindo de 1 a 3 Repetições # Utilizando uma variável x = 1 print (x) x = 2 print (x) x = 3 print (x)
  • 20.
    Estruturas de Controlee rep. # Imprimindo de 1 a 3 Repetições # Incrementando a variável x = 1 print (x) x = x + 1 print (x) x = x + 1 print (x)
  • 21.
    Estruturas de Controlee rep. # Imprimindo de 1 a 3 Repetições - while # Usando while x = 1 while x <= 3: print (x) x = x + 1
  • 22.
    Estruturas de Controlee rep. # Imprimir os números pares entre 0 e um número fornecido usando if. Repetições - Contadores fim = int(input(“Digite um número: ”)) n = 0 while n <= fim: if n % 2 == 0: print (“N: %d” % (n)) n = n + 1
  • 23.
    Estruturas de Controlee rep. # Cálculo da soma de dez números inteiros. Repetições - Acumulador n = 0 soma = 0 while n < 10: num = int(input(“Digite um número: ”) soma = soma + num n = n + 1 print (“Total: %d” % (soma))
  • 24.
    Estruturas de Controlee rep. # Calcule a soma dos números inteiros até ser digitado 0 (ZERO). Repetições - Interrupção soma = 0 while True: num = int(input(“Digite um número: ”) if num == 0: break soma = soma + num print (“Total: %d” % (soma))
  • 25.
    Estruturas de Controlee rep. Repetições - For* for letra in ‘aeiou’: print (letra) >>> a e i o u texto = ‘aeiou’ k = 0 while k < len(texto): letra = texto[k] print (letra) k = k + 1 >>> a e i o u
  • 26.
    Estruturas de Controlee rep. Exercícios!
  • 27.
    Tipos básicos 1. Numeros 1.1.int 1.2. float 1.3. complex 2. String 4. Conjuntos 4.1. Lista 4.2. Tupla 4.3. Dicionários 3. Boolean
  • 28.
    Tipos básicos >>> type(1) <type‘int’> >>> type(7.5) <type ‘float’> >>> type(1e5) <type ‘float’> >>> type(20+5j) <type ‘complex’> >>> Números
  • 29.
    Tipos básicos >>> spam= “eggs” >>> type(spam) <type ‘str’> >>> spam + “ bacon” ‘eggs bacon’ >>> spam[0] Traceback (most recent call last): File “<stdin>”, line 1, in <module> TypeError: ‘str’ object does not supprt item assignment Strings
  • 30.
    Tipos básicos >>> type(True) <type‘bool’> >>> type(False) <type ‘bool’> >>> bool(0) False >>> bool(0.0) False >>> bool(0+0j) False >>> bool(“”) False >>> bool([]) False >>> bool({}) False >>> bool(()) False Boolean
  • 31.
  • 32.
    Tipos básicos Listas >>> type([]) <type‘list’> >>> spam = [‘eggs’, ‘bacon’] >>> spam[0] ‘eggs’ >>> spam[1] = ‘spam’ >>> spam [‘eggs’, ‘spam’] >>> len(spam) 2
  • 33.
    Tipos básicos Listas >>> spam[2]= 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list assignment index out of range >>> spam.append(1) >>> spam[2] 1 >>> spam [‘eggs’, ‘spam’, 1] >>> len(spam) 3
  • 34.
    Tipos básicos Tuplas >>> type(()) <type‘tuple’> >>> spam = (‘eggs’, ‘bacon’) >>> spam[0] ‘eggs’ >>> spam[1] = ‘spam’ Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment
  • 35.
    Tipos básicos Tuplas >>> spam (‘eggs’,‘bacon’) >>> spam.append(1) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'tuple' object has no attribute 'append' >>> spam = spam + (1,) >>> spam (‘eggs’, ‘bacon’, 1)
  • 36.
  • 37.
    Tipos básicos Dicionário >>> type({}) <type‘dict’> >>> spam = {‘nome’:’João’,’idade’:32,’apelidos’:[‘jô’, ‘joãozinho’]} >>> spam[nome] ‘João’ >>> spam[idade] = 33 >>> spam {'idade': 33, 'apelidos': ['joão', 'joãozinho'], 'nome': 'João'}
  • 38.
    Tipos básicos Dicionário >>> spam[‘endereco’]= ‘Rua J’ >>> spam {'idade': 33, 'enderexc3xa7o': 'Rua J', 'apelidos': ['jxc3xb4', 'joxc3xa3ozinho'], 'nome': 'Joxc3xa3o'}
  • 39.
  • 40.
    Funções e arquivos 1.Funções 1.1. Funções 1.2. Escopo de variável 1.3. Números aleatórios 1. Arquivos 1.1. Leitura e escrita em arquivos.
  • 41.
    Funções e arquivos #Utilizamos def para definir uma função e return para devolver algum valor. Funções def ehpar(x): return x % 2 == 0 >>> ehpar(20) True >>> ehpar(19) False
  • 42.
    Funções e arquivos #Defina uma função fatorial Funções def fat(n): f = 1 while n > 0: f = f * n n = n - 1 return f >>> for i in range(3): print( fat(i) ) 1 1 2
  • 43.
    Funções e arquivos #a = 5 e a = 7 são variáveis diferentes! Funções - Escopo de variáveis a = 5 def muda_e_imprime(): a = 7 print (“a dentro da funcao: %d” %a) print (“antes da funcao: %d” %a) muda_e_imprime() print (“depois da funcao: %d” %a)
  • 44.
    Funções e arquivos #a = 5 é colocada como global e modificada dentro da função. Funções - Escopo de variáveis a = 5 def muda_e_imprime(): global a a = 7 print (“a dentro da funcao: %d” %a) print (“antes da funcao: %d” %a) muda_e_imprime() print (“depois da funcao: %d” %a)
  • 45.
    Funções e arquivos #É necessário importar o módulo random Funções - Números aleatórios >>> import random >>> random.randomint(1, 50) 13 >>> nomes = [‘Diego’, ‘Amanda’, ‘Dilan’, ‘Gaby’] >>> random.choice(nomes) ‘Amanda’ >>> random.shuffle(nomes) [‘Amanda’, ‘Gaby’, ‘Dilan’, ‘Diego’]
  • 46.
  • 47.
    Funções e arquivos #Estes são os principais métodos para a leitura e escrita de um arquivo. Arquivos - principais métodos ❏ read(): como visto acima, retorna uma string única com todo o conteúdo do arquivo. ❏ readline(): retorna a próxima linha do arquivo, e incrementa a posição atual. ❏ readlines(): retorna todo o conteúdo do arquivo em uma lista, uma linha do arquivo por elemento da lista.
  • 48.
    Funções e arquivos #Estes são os principais métodos para a leitura e escrita de um arquivo. Arquivos - principais métodos ❏ write(data): escreve a string data para o arquivo, na posição atual ou ao final do arquivo, dependendo do modo de abertura. Esta função falha se o arquivo foi aberto com modo `r'. ❏ close(): fecha o arquivo.
  • 49.
    Funções e arquivos #Estes são os principais métodos para a leitura e escrita de um arquivo. Arquivos - principais métodos arquivo = open('numeros.txt', 'r') for linha in arquivo.readlines(): print(linha) arquivo.close()
  • 50.
  • 51.
    Conclusões # Curso Pythonpara Zumbis: http://pycursos. com/python-para-zumbis/ # Learn Python the Hard Way: http://learnpythonthehardway.org/ # Python para Desenvolvedores: http://ark4n. wordpress.com/python/ # Documentação:https://www.python.org/ Onde posso aprender mais?
  • 52.
    Conclusões E os próximoseventos? http://praticasdesoftware.com.br
  • 53.
    Conclusões E os próximoseventos? http://2014.pythonnordeste.org/