Buscar

Aula 5 - variáveis e strings - python

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aula 5 – Variáveis e Strings
Computação I - aula 5 - 2014/1 2
Variáveis
O que é uma variável ?
● É uma maneira simbólica de fazer referência a dados armazenados na 
memória do computador.
● Toda variável engloba os seguintes aspectos:
● Nome (identificador): é a representação simbólica da variável, que 
será utilizada pelo programador para fazer referência aos dados 
que ela armazena.
● Valor: o que de fato está armazenado.
● Tipo: o tipo de dado que está armazenado.
Computação I - aula 5 - 2014/1 3
Variáveis
O que é uma variável ?
● Escopo: onde a variável existe e onde ela deixa de existir.
● Endereço: local da memória onde o valor da variável está 
armazenado.
● Uma variável é criada com um comando de atribuição (operador =): 
x = 5. 
Computação I - aula 5 - 2014/1 4
Variáveis – Nomes de Variáveis
● Letras, números e underline (não começar por números)
● minhaVariavel = 1
● minha_variavel = 1
● minhaVariavel2 = 2
● minha_variavel_2 = 2
● Dica: em programas muito grandes e complexos, escolha (se possível) 
nomes que descrevam o significado da variável. Exceto em programas 
muito simples ou exemplos didáticos, evite nomes genéricos como 
“x”, “y”, “a”, etc..
Computação I - aula 5 - 2014/1 5
Variáveis – Alias (Pseudônimo)
● É um identificador que se refere a uma variável existente.
● “y” é um alias para a variável “x”. Portanto, possui o mesmo valor e 
aponta para o mesmo endereço de “x”.
Computação I - aula 5 - 2014/1 6
Variáveis – Alias (Pseudônimo)
● O que acontece se atribuirmos um novo valor a “x”?
● “y” permaneceu inalterada!!
● O que aconteceu foi algo bastante sutil (e bizarro): “x” é do tipo int, 
que é um tipo imutável (falaremos sobre isso mais tarde).
● Ao escrevermos “x = 5”, em vez de modificar a variável “x” já 
existente, simplesmente criamos outra variável com o nome “x” e 
atribuímos a ela o valor 5. A variável “x” antiga é jogada fora.
● Como “y” era um alias para a variável “x” antiga, seu valor 
permaneceu inalterado.
Computação I - aula 5 - 2014/1 7
Variáveis – Tipo
● Python é uma linguagem dinamicamente tipada ou fracamente tipada.
● O tipo é atribuído de acordo com o valor atribuído à variável. Não é 
necessário declarar previamente o tipo.
● O tipo de uma variável pode mudar depois de alguma operação ou 
nova atribuição.
Computação I - aula 5 - 2014/1 8
Variáveis – Escopo
● O escopo de uma variável refere-se aos “lugares” do programa em que 
ela é visível e pode ser utilizada.
● As variáveis definidas dentro de uma função são ditas variáveis 
locais, porque não podem ser acessadas fora da função.
● As variáveis “x” e “y” são locais, pois só existem dentro da função. 
Depois que a função é executada, elas são destruídas.
● Dizemos que a função é o escopo de “x” e “y”.
● Tentar chamá-las fora da função ocasionaria um erro.
Computação I - aula 5 - 2014/1 9
Variáveis – Escopo
● As variáveis visíveis dentro de todo o programa são ditas variáveis 
globais.
● Se a variável foi criada fora de uma função, ela é global e está visível 
para todas as funções.
● Caso contrário, ela é local e está visível apenas dentro da função em 
que foi definida. Depois que a função for executada, suas variáveis 
locais serão destruídas.
Computação I - aula 5 - 2014/1 10
Variáveis – Escopo
● Variáveis globais dentro de funções:
Computação I - aula 5 - 2014/1 11
Variáveis – Mais detalhes...
● Atribuição múltipla:
Computação I - aula 5 - 2014/1 12
Variáveis – Mais detalhes...
● Podemos fazer atribuição múltipla de aliases:
Computação I - aula 5 - 2014/1 13
Variáveis – Mais detalhes...
● Podemos fazer swaps de aliases:
Computação I - aula 5 - 2014/1 14
Strings
Caracteres
● Caracteres são símbolos. Podem ser letras, números, 
caracteres especiais, e até o espaço em branco é um 
caractere.
● Exemplo: 'a', '9', '#', ' '.
● Todos os caracteres são codificados em números, de 0 a 
255 (padrão ASCII).
Computação I - aula 5 - 2014/1 15
Strings
● Uma string é uma sequência de caracteres.
● Strings são escritas usando aspas simples ou duplas.
● Exemplos:
Computação I - aula 5 - 2014/1 16
Strings
● Comprimento de uma string: número de caracteres que ela contém.
• O operador “+” pode ser usado para concatenar strings:
Ex.: "aa"+"bb" é o mesmo que "aabb"
Computação I - aula 5 - 2014/1 17
Strings
Exercício
Escreva uma função que receba como parâmetros o nome do 
usuário e sua idade, e retorne a frase:
“Olá, meu nome é fulano e eu tenho x anos.”,
onde fulano e x são, respectivamente, os valores do nome e da 
idade do usuário passados como parâmetros.
Computação I - aula 5 - 2014/1 18
Strings
Exercício
Escreva uma função que receba como parâmetros o nome do 
usuário e sua idade, e retorne a frase:
“Olá, meu nome é fulano e eu tenho x anos.”,
onde fulano e x são, respectivamente, os valores do nome e da 
idade do usuário passados como parâmetros.
def frase(nome,idade):
return "Olá, meu nome é " + nome + " e eu tenho " + idade + " anos."
Teste : frase(“João”,21) e frase(“João”,”21”)
Computação I - aula 5 - 2014/1 19
Strings
Exercício
Reescreva a função anterior para que ela retorne na frase o dobro da 
idade fornecida como parâmetro.
Por exemplo, para frase(“João”,”21”) a função deve retornar:
“Olá meu nome é João e eu tenho 42 anos. ”
Computação I - aula 5 - 2014/1 20
Strings
Exercício
Reescreva a função anterior para que ela retorne na frase o dobro da 
idade fornecida como parâmetro.
Por exemplo, para frase(“João”,”21”) a função deve retornar:
“Olá meu nome é João e eu tenho 42 anos. ”
def frase1(nome,idade):
return "Olá, meu nome é " + nome + " e eu tenho " + 2*idade + " anos."
Computação I - aula 5 - 2014/1 21
Strings
Exercício
Reescreva a função anterior para que ela retorne na frase o dobro da 
idade fornecida como parâmetro.
Por exemplo, para frase(“João”,”21”) a função deve retornar:
“Olá meu nome é João e eu tenho 42 anos. ”
def frase1(nome,idade):
return "Olá, meu nome é " + nome + " e eu tenho " + 2*idade + " anos."
>>> frase1(“João”,”21”):
"Olá, meu nome é João e eu tenho 2121 anos."
Computação I - aula 5 - 2014/1 22
Strings
O operador “*” pode ser usado para repetir strings
Exemplo: "a"*10 é o mesmo que "aaaaaaaaaa"
Para converter um valor numérico em string, use a função str
def frase1(nome,idade):
return "Olá, meu nome é " + nome + " e eu tenho " + str(2*idade) + " anos."
>>> frase1(“João”,21):
"Olá, meu nome é João e eu tenho 42 anos."
Observe que agora a idade é passada como um valor numérico.
Computação I - aula 5 - 2014/1 23
Strings
Exercício
Usando as funções definidas em aula anterior para calcular as áreas da base, 
lateral e total de um cilindro reto, defina três funções que retornem 
respectivamente:
“A área da base deste cilindro é valor“
“A área lateral deste cilindro é valor“
“A área total deste cilindro é valor“
sendo valor o valor retornado por cada uma das respectivas funções.
Computação I - aula 5 - 2014/1 24
Strings
Exercício - Resposta
import math
def areabase(r):
return math.pi*r**2
def arealateral(r,h):
return 2*r*h*math.pi
def areatotal(r,h):
return 2*areabase(r)+arealateral(r,h)
def AB(r):
return "A área da base deste cilíndro é " +str(areabase(r))
def AL(r,h):
return "A área lateral deste cilíndro é " +str(arealateral(r,h))
def AT(r,h):
return "A área total deste cilíndro é " +str(areatotal(r,h))
Computação I - aula 5 - 2014/1 25
Strings
Exercício 
Faça uma função que dados 2 números retorna a mensagem: “ A 
média aritmética de x e y é m.”, onde x, y são os números dados, e m 
é a média calculada. 
2. Faça uma função que dados dois nomes e duas, retorne os nomes,as idades e a média aritmética das idades. Use a função do exercício 
anterior.
“Fulano tem x anos. Sicrano tem y anos. A média aritmética de x
e y é m.”
Computação I - aula 5 - 2014/1 26
Strings - Índices
● Todo caractere de uma string é indexado, começando do primeiro 
caractere (índice 0) à esquerda.
● Notação: string[indice]
● Exemplo: var = “Pedro dos Santos”
var[2] : ‘d' var[9] : ' 'var[ var[15] : ‘s'
Índice 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
Var P e d r o d o s S a n t o s 
Computação I - aula 5 - 2014/1 27
Strings - Índices
● A string também pode ser indexada da direita para a esquerda, 
começando no índice -1.
● Notação: string[indice]
● Exemplo: var = “Pedro dos Santos”
var[-14] : ‘d' var[-7] : ' 'v var[-1] : ‘s'
Índice 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
Var P e d r o d o s S a n t o s 
28
Strings - Slices
Separa trechos de uma string
Notação: string[índice1:índice2]
Retorna os caracteres desde o de índice1 até o de (índice2 – 1)
Se índice1 é omitido, é assumido 0
Se índice2 é omitido, é assumido o fim da string
Computação I - aula 5 - 2014/1
29
Strings - Slices
Exemplo
>>> x = 'abcde'
>>> x[0:2]
>>> x [2:]
>>> x[:]
>>> x[-1:]
>>> x[:-1]
Computação I - aula 5 - 2014/1
30
Strings - Slices
Exemplo
>>> x = 'abcde'
>>> x[0:2]
'ab'
>>> x [2:]
'cde'
>>> x[:]
'abcde'
>>> x[-1:]
'e'
>>> x[:-1]
'abcd'
Computação I - aula 5 - 2014/1
31
Strings - Slices
Incremento: podemos usar incremento / decremento para selecionar os
elementos de uma string.
Exemplo
>>> x= “abcde”
>>> x[0:-1:2]
>>> x[3:0:-1]
Computação I - aula 5 - 2014/1
32
Strings - Slices
Exemplo
>>> x= ‘abcde’
>>> x[0:-1:2]
‘ac’
>>> x[3:0:-1]
‘dcb’
Computação I - aula 5 - 2014/1
33
Strings 
• Elementos de uma string não aceitam o operador de atribuição.
• Strings são, portanto, imutáveis. Ou seja, os dados contidos em uma 
string não podem ser alterados.
Computação I - aula 5 - 2014/1
34
Strings - Recapitulando
• Representação: s = “12346” ou s = ‘123456’
• ord(caractere): retorna o número que codifica o caractere.
• chr(número) : retorna o caractere associado ao número.
• len(s) : retorna o tamanho de uma string.
• Operador ‘+’: concatena strings. Ex: ‘ab’ + ‘cd’ = ‘abcd’
• Operador ‘*’: repete strings. Ex: ‘a’*5 = ‘aaaaa’
• Slices (Fatias): [start:end:step]
Desafio: na string '123456', como você faria para mudar o 
elemento da posição 1 para '0', sem precisar reescrever toda a 
string?
Computação I - aula 5 - 2014/1
35
Exercícios
1) Faça uma função que dado o nome de uma pessoa, retorne o tamanho 
do nome e a letra que começa o nome.
2) Faça uma função que dada uma palavra, retorna a palavra invertida.
3) Faça uma função que dada uma palavra, retorna os caracteres nas 
posições ímpares.
4) Faça uma função que recebe duas strings e recebe a concatenação delas, 
com exceção do primeiro caractere de cada uma.
5) Escreva uma função que receba uma string e retorne a concatenação de 
três cópias dos dois últimos caracteres. Exemplo, se a entrada for ‘abcd’, a 
saída deve ser ‘cdcdcd’.
Computação I - aula 5 - 2014/1
Computação I - aula 5 - 2014/1 36
Aula 5 – Variáveis e Strings

Outros materiais