Buscar

As Strings

Prévia do material em texto

“STRINGS”
STRINGS
Computador só pode guardar números.
Como armazenar então os caracteres?
Solução: códigos numéricos associados aos caracteres.
Padronização através da tabela ASCII (American 
Standard Code for Information Interchange)
STRINGS
Exemplos:
Caracter Código ASCII
A 65
B 66
a 97
b 98
STRINGS – FUNÇÕES ORD E CHR
Funções:
 ord: retorna o código ASCII a partir do caracter. 
Exemplo: ord(‘a’) retorna o valor 97
 chr: retorna o caracter a partir do seu código ASCII
Exemplo: chr(97) retorna o caracter ‘a’
Até o código 31 o uso é 
especial (comunicação por 
linha telefônica, rede e 
impressoras).
TABELA ASCII (AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE)
STRINGS
A tabela ASCII possui 128 itens (de 0 a 127).
Computadores entendem somente 0’s e 1’s 
Conversão decimal para binário (25510 = 111111112)
1 caracter = 8 bits = 1 byte
STRINGS – EXERCÍCIO 1
Faça uma função que mostre todos os caracteres e símbolos da 
tabela ASCII e seus respectivos códigos. Exemplo de saída:
O código ASCII do caracter ‘$’ é 36
STRINGS – EXERCÍCIO 1
#Programa ex1
def ex1():
'''Mostra caracteres imprimíveis da tabela ASCII''' 
for i in range(128):
print('O código ASCII do caracter ', chr(i), ' é: ' , i)
#fim for
#Fim ex1
TABELA ASCII ESTENDIDA
O TIPO STRING
 É diferente comparando-se a int e float.
 Está sempre delimitado por apóstrofo (‘eu sou uma string’).
 É composto de partes menores, os caracteres.
 Por este motivo é considerado um tipo de dados composto.
 Pode ser tratado como um único componente ou acessar
caracteres individualmente.
 Uma String pode ser formada a partir da concatenação de 
outras partes de strings.
STRINGS
Conteúdo de var o l á
Índice 0 1 2
var[0] = ‘o’
var[1] = ‘l’
var[2] = ‘á’
O valor entre [ ] 
indica qual letra você 
quer obter. Pode ser 
uma variável ou 
expressão.
STRINGS
Caracteres não podem ser alterados individualmente.
msg = 'Hello, world!'
msg[0] = 'J' # ERROR! TypeError: object 
doesn't support 
item assignment.
FUNÇÕES DE STRINGS
Comprimento de uma String.
 Função len(length)
var = ‘olá’
tamanho = len(var)
letra = var[tamanho-1]
print(letra)
STRINGS – EXERCÍCIO 2
Escreva uma função que mostre cada caracter de uma String, seus 
respectivos índices e códigos ASCII.
Exemplo de saída:
Caracter o, índice 0, ASCII 111
Caracter l, índice 1, ASCII 108
Caracter á, índice 2, ASCII 225
STRINGS – EXERCÍCIO 2
def ex2():
'''Imprime cada caracteres, índices e código ASCII ''' 
texto = input('Informe o texto: ')
for i in range(len(texto)):
print(texto[i], ' Índice ' , i, ' ASCII ' , ord(texto[i]))
#Fim for
#Fim ex2
STRINGS – EXERCÍCIO 3
Faça uma função que receba uma string e um caracter,
percorra esta String a procura do caracter e retorne o
seu índice ou a mensagem “caracter não encontrado”.
STRINGS – EXERCÍCIO 3
def ex3(s, ch):
indice = None
for i in range(len(s)):
if s[i] == ch:
indice = i
break
#fim for
return indice
#fim ex3()
#PP
ch = input('Digite um caracter: ')
indice = ex3('COMPUTAÇÃO', ch)
if indice != None:
print('O caracter ' , ch, ' tem índice ' , indice)
else:
print('O caracter ' , ch, ' não foi encontrado')
STRINGS – OPERADOR [ ]
Substrings (fatia ou segmento de uma String)
O operador [n:m] retorna a 'fatia' de n até m, incluindo o 
primeiro e excluindo o último.
STRINGS – OPERADOR [ ]
Substrings (fatia ou segmento de uma String)
João, Maria e José
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
[0:4] [6:11] [14:18]
STRINGS – OPERADOR [ ]
Substrings (fatia ou segmento de uma String)
s = 'João, Maria e José'
print(s[0:4])
print(s[6:11])
print(s[14:18])
João, Maria e José
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
[0:4] [6:11] [14:18]
STRINGS – OPERADOR [ ]
Substrings (fatia ou segmento de uma String)
 O operador [:m] retorna a fatia do início da string.
 O operador [m:] retorna a fatia de m até o fim da 
string.
João, Maria e José
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
[:4] [6:]
OPERAÇÕES COM STRINGS
Operações matemáticas não podem ser efetuadas em 
Strings, mesmo que seu conteúdo seja números. 
Exemplos com erros:
Message = 1 
‘Hello’ / 123 
Message * ‘Hello’ 
’15’ + 2
OPERAÇÕES COM STRINGS
nome = ‘José’
sobrenome = ‘Silva’
nomecompleto = nome + ‘ ‘ + sobrenome
Os operadores + e * funcionam com Strings, efetuando 
operações de concatenação e repetição:
msg = ‘Hello’
print(3*msg)
STRINGS – FUNÇÕES
Módulo String: mais algumas funções úteis:
print('\n'*5)
text = 'COMO MANIPULAR STRINGS'
print( 'upper', '=>', text.upper())
print('lower', '=>', text.lower())
print('replace', '=>', text.replace('STRING', 'TEXTO'))
print('find', '=>', text.find('STRING'))
print('count', '=>', text.count('A'))
STRINGS – EXERCÍCIO 4
Escreva uma função que receba uma string que
contenha uma frase terminada por um ponto
final. Mostre o número de palavras que existem
na frase.
STRINGS – EXERCÍCIO 4
def ex4(frase):
'''Conta palavras de uma frase'''
count = 0
for i in range(len(frase)):
if frase[i] == ' ' or frase[i] == '.':
count +=1
#fim for
print('Palavras encontradas: ' , count)
#fim ex4
#PP
frase = input('Frase:' )
ex4(frase)
STRINGS – EXERCÍCIO 4
def ex4(frase):
'''Conta palavras de uma frase'''
if frase == '':
print('Frase vazia.')
else:
print('Palavras encontradas: ' , frase.count(' ') + 1)
#fim ex4
#PP
frase = input('Frase:' )
ex4(frase)
STRINGS – EXERCÍCIO 5
Escreva uma função que leia strings e escreva se é uma palavra
palíndroma. Uma string palíndroma é aquela que tem o mesmo
resultado se lida da esquerda para a direita ou da direita para a
esquerda. Exemplo: 'RIR', 'ASA', 'SOLOS', 'RALAR', 'AMA'.
S O L O S
S O L O S
STRINGS – EXERCÍCIO 5
def ex5():
'''Verifica se é palíndroma'''
palavra = input('Informe uma palavra: ')
j = len(palavra)
palindroma = True
for i in range(j):
if palavra[i].upper() != palavra[j-1].upper():
palindroma = False
break
j = j-1
#fim for
print('Palíndroma ', palindroma)
#fim ex5

Continue navegando