Programação de Computadores
 Tuplas ;
 Strings .
Tuplas
 Tuplas
◦ Características:
 Ordenadas:Assim como as listas.
 Imutáveis: Não podem ser modificadas após
a criação.
 Heterogêneas:Assim como as listas.
◦ Usos:
 Representar dados imutáveis como coordenadas,
registros, etc.
Tuplas
 Tuplas
◦ # Criando uma tupla com informações pessoais
◦ pessoa = ("João", 25, "Rio de Janeiro")
◦ Acessando elementos
◦ print(pessoa[0]) # Imprime: João
◦ # Tuplas são imutáveis, então não podemos
modificar elementos diretamente
◦ # pessoa[1] = 30 # Isso geraria um erro
Strings
 O que são Strings em Python?
◦ Strings (ou "cadeias de caracteres") são
sequências de caracteres usadas para
representar texto.
◦ Em Python, as strings são delimitadas por aspas
simples ('), aspas duplas (") ou até mesmo aspas
triplas (''' ou """).
◦ Elas são imutáveis, o que significa que, uma vez
criadas, não podem ser alteradas diretamente.
texto = "Olá, mundo!"
print(texto) # Saída: Olá, mundo!
Strings
 Comandos e Métodos para Manipulação
de Strings em Python
◦ Aqui estão os principais métodos e operações para
manipular strings, com exemplos:
◦ 1. Concatenação
◦ Unir duas ou mais strings.
nome = "João"
sobrenome = "Silva"
nome_completo = nome + " " + sobrenome
print(nome_completo) # Saída: João Silva
Strings
◦ 2. Multiplicação de Strings
◦ Repetir uma string várias vezes.
 risada = "ha" * 5
 print(risada) # Saída: hahahahaha
◦ 3.Acesso a Caracteres
◦ Acessar um caractere específico usando
índice (baseado em zero).
 frase = "Python é divertido"
 print(frase[0]) # Saída: P
 print(frase[-1]) # Saída: o (último caractere)
Strings
◦ 4. Fatiamento (Slicing)
◦ Obter partes de uma string.
 frase = "Python é divertido"
 print(frase[0:6]) # Saída: Python
 print(frase[7:]) # Saída: é divertido
 print(frase[:6]) # Saída: Python
 print(frase[::-1]) # Saída: oditrevi dés nohtyP
(inverso)
Strings
◦ 5. Método len()
◦ Retorna o comprimento da string.
 frase = "Python é divertido"
 print(len(frase)) # Saída: 19
◦ 6. Método upper()
◦ Converte todos os caracteres para
maiúsculas.
 frase = "Python é divertido"
 print(frase.upper()) # Saída: PYTHON É
DIVERTIDO
Strings
◦ 7. Método lower()
◦ Converte todos os caracteres para
minúsculas.
 frase = "Python é divertido"
 print(frase.lower()) # Saída: python é divertido
◦ 8. Método capitalize()
◦ Coloca a primeira letra em maiúscula.
 frase = "python é divertido"
 print(frase.capitalize()) # Saída: Python é divertido
Strings
◦ 9. Método title()
◦ Coloca a primeira letra de cada palavra em
maiúscula.
 frase = "python é divertido"
 print(frase.title()) # Saída: Python É Divertido
◦ 10. Método strip()
◦ Remove espaços em branco do início e do fim
da string.
 frase = " Python é divertido "
 print(frase.strip()) # Saída: Python é divertido
Strings
◦ 11. Método replace()
◦ Substitui parte da string por outra.
 frase = "Python é divertido"
 nova_frase = frase.replace("divertido", "incrível")
 print(nova_frase) # Saída: Python é incrível
◦ 12. Método split()
◦ Divide a string em uma lista de substrings
baseadas em um separador.
 frase = "Python é divertido"
 palavras = frase.split()
 print(palavras) # Saída: ['Python', 'é', 'divertido']
Strings
◦ 13. Método join()
◦ Junta uma lista de strings em uma única string.
 palavras = ["Python", "é", "divertido"]
 frase = " ".join(palavras)
 print(frase) # Saída: Python é divertido
◦ 14. Método find()
◦ Encontra a posição de uma substring (retorna
-1 se não encontrar).
 frase = "Python é divertido"
 posicao = frase.find("divertido")
 print(posicao) # Saída: 9
Strings
◦ 15. Método index()
◦ Semelhante ao find(), mas gera erro se a
substring não for encontrada.
 frase = "Python é divertido"
 posicao = frase.index("divertido")
 print(posicao) # Saída: 9
Strings
◦ 16. Método startswith()
◦ Verifica se a string começa com uma
determinada substring.
 frase = "Python é divertido"
 print(frase.startswith("Python")) # Saída:True
◦ 17. Método endswith()
◦ Verifica se a string termina com uma
determinada substring.
 frase = "Python é divertido"
 print(frase.endswith("divertido")) # Saída:True
Strings
◦ 18. Método isalpha()
◦ Verifica se todos os caracteres são letras.
 frase = "Python"
 print(frase.isalpha()) # Saída:True
◦ 19. Método isdigit()
◦ Verifica se todos os caracteres são dígitos.
 numero = "12345"
 print(numero.isdigit()) # Saída:True
Strings
◦ 20. Método isspace()
◦ Verifica se a string contém apenas espaços.
 espacos = " "
 print(espacos.isspace()) # Saída:True
◦ 21. Método count()
◦ Conta quantas vezes uma substring aparece
na string.
 frase = "Python é divertido"
 print(frase.count("e")) # Saída: 2
Strings
 22. Formatação de Strings (f-strings)
 Inserir variáveis dentro de strings.
◦ nome = "João"
◦ idade = 25
◦ mensagem = f"Meu nome é {nome} e tenho
{idade} anos."
◦ print(mensagem) # Saída: Meu nome é João e
tenho 25 anos.
◦ print (f"Meu nome é {nome} e tenho {idade}
anos."
Strings
 O comando in pode ser utilizado com
strings em Python. Ele é usado para
verificar se uma substring (uma parte
menor de uma string) está presente
dentro de outra string.
 O resultado dessa operação é um valor
booleano (True ou False).
Strings
 frase = "Python é uma linguagem poderosa"
 substring = "linguagem"
 #Verifica se a substring está na frase
 if substring in frase:
 print(f"A substring '{substring}' está
presente na frase.")
 else:
 print(f"A substring '{substring}' não foi
encontrada na frase.")
Strings
 palavra = "programação"
 letra = "a"
 if letra in palavra:
 print(f"A letra '{letra}' está presente na
palavra '{palavra}'.")
 else:
 print(f"A letra '{letra}' não está
presente na palavra '{palavra}'.")
Strings
 frase = "Python é divertido"
 palavra = "chato"
 if palavra not in frase:
 print(f"A palavra '{palavra}' não está
presente na frase.")
 else:
 print(f"A palavra '{palavra}' está
presente na frase.")
Strings
 frase = "Python é uma
linguagem poderosa"
 vogais = "aeiou"
 print("Vogais na frase:")
 for letra in frase:
 if letra in vogais:
 print(letra)
 Vogais na frase:
 e
 a
 u
 a
 e
 a
 o
 a
1. Contar o número de vogais em
uma frase
 Descrição: Escreva um programa que
conte quantas vogais (a, e, i, o, u) existem
em uma frase fornecida pelo usuário.
frase = input("Digite uma frase: ").lower()
vogais = "aeiou"
contador = 0
for letra in frase:
if letra in vogais:
contador += 1
print(f"A frase contém {contador} vogal(is).")
2.Verificar se uma palavra é um
palíndromo
 Descrição: Um palíndromo é uma palavra ou frase que
pode ser lida da mesma forma de trás para frente.
Escreva um programa que verifique se uma palavra é um
palíndromo.
palavra = input("Digite uma palavra: ").lower().replace(" ", "")
if palavra == palavra[::-1]:
print("É um palíndromo!")
else:
print("Não é um palíndromo.")
3. Substituir vogais por números
 Descrição: Escreva um programa que substitua
todas as vogais de uma frase pelos números
correspondentes: a=1, e=2, i=3, o=4, u=5.
frase = input("Digite uma frase: ").lower()
substituicoes = {"a": "1", "e": "2", "i": "3", "o": "4", "u": "5"}
nova_frase = ""
for letra in frase:
if letra in substituicoes:
nova_frase += substituicoes[letra]
else:
nova_frase += letra
print(f"Frase modificada: {nova_frase}")
4. Inverter cada palavra de uma
frase
 Descrição: Escreva um programa que
inverta cada palavra de uma frase, mas
mantenha a ordem das palavras.
frase = input("Digite uma frase: ")
palavras = frase.split()
palavras_invertidas = []
for palavra in palavras:
palavra_invertida = palavra[::-1] # Inverte a palavra
palavras_invertidas.append(palavra_invertida)
frase_invertida = " ".join(palavras_invertidas)
print(f"Frase com palavras invertidas: {frase_invertida}")
5. Remover caracteres duplicados
de uma string
 Descrição: Escreva um programa que
remova todos os caracteres duplicados
de uma string.
string = input("Digite uma string: ")
resultado = ""
for letra in string:
if letra not in resultado:
resultado += letra
print(f"String sem duplicados: {resultado}")
Criptografar uma mensagem
usando cifra de César
 Descrição: A cifra de César é uma técnica de criptografia que
substitui cada letra por outra que está um número fixo de
posições à frente no alfabeto. Escreva um programa que criptografe
uma mensagem com uma chave fornecida.
def cifra_cesar(mensagem, chave):
alfabeto = "abcdefghijklmnopqrstuvwxyz"
mensagem_criptografada = ""
for letra in mensagem.lower():
if letra in alfabeto:
indice = (alfabeto.index(letra) + chave) % 26
mensagem_criptografada += alfabeto[indice]
else:
mensagem_criptografada += letra
return mensagem_criptografada
mensagem = input("Digite a mensagem: ")
chave = int(input("Digite a chave (número inteiro): "))
print(f"Mensagem criptografada: {cifra_cesar(mensagem,
chave)}")
Encontrar a substring mais longa
sem repetir caracteres
 Descrição: Escreva um programa que encontre a substring mais
longa em uma string sem repetir caracteres.
def substring_sem_repeticao(s):
substr = ""
maior_substr = ""
for letra in s:
if letra not in substr:
substr += letra
else:
if len(substr) > len(maior_substr):
maior_substr = substr
substr = letra
return maior_substr if len(maior_substr) >
len(substr) else substr
string = input("Digite uma string: ")
print(f"Substring mais longa sem repetição:
{substring_sem_repeticao(string)}")
Validar um número de telefone
 Descrição: Escreva um programa que
valide se uma string representa um
número de telefone no formato (XX)
XXXX-XXXX.
import re
telefone = input("Digite um número de
telefone: ")
padrao = r"^(d{2}) d{4}-d{4}$"
if re.match(padrao, telefone):
print("Número de telefone válido.")
else:
print("Número de telefone inválido.")
Contar o número de palavras únicas
em uma frase
 Descrição: Escreva um programa que
conte o número de palavras únicas em
uma frase, ignorando maiúsculas e
minúsculas.
frase = input("Digite uma frase: ").lower()
palavras = frase.split()
unicas = set(palavras)
print(f"Número de palavras únicas: {len(unicas)}")
Gerar um acrônimo
 Descrição: Escreva um programa que
gere um acrônimo a partir de uma frase.
O acrônimo deve consistir das primeiras
letras de cada palavra.
frase = input("Digite uma frase: ")
palavras = frase.split()
acronimo = ""
for palavra in palavras:
acronimo += palavra[0].upper()
print(f"Acrônimo: {acronimo}")
Aula 8 - Tuplas_Strings_aula_Python.pptx

Aula 8 - Tuplas_Strings_aula_Python.pptx

  • 1.
    Programação de Computadores Tuplas ;  Strings .
  • 2.
    Tuplas  Tuplas ◦ Características: Ordenadas:Assim como as listas.  Imutáveis: Não podem ser modificadas após a criação.  Heterogêneas:Assim como as listas. ◦ Usos:  Representar dados imutáveis como coordenadas, registros, etc.
  • 3.
    Tuplas  Tuplas ◦ #Criando uma tupla com informações pessoais ◦ pessoa = ("João", 25, "Rio de Janeiro") ◦ Acessando elementos ◦ print(pessoa[0]) # Imprime: João ◦ # Tuplas são imutáveis, então não podemos modificar elementos diretamente ◦ # pessoa[1] = 30 # Isso geraria um erro
  • 4.
    Strings  O quesão Strings em Python? ◦ Strings (ou "cadeias de caracteres") são sequências de caracteres usadas para representar texto. ◦ Em Python, as strings são delimitadas por aspas simples ('), aspas duplas (") ou até mesmo aspas triplas (''' ou """). ◦ Elas são imutáveis, o que significa que, uma vez criadas, não podem ser alteradas diretamente. texto = "Olá, mundo!" print(texto) # Saída: Olá, mundo!
  • 5.
    Strings  Comandos eMétodos para Manipulação de Strings em Python ◦ Aqui estão os principais métodos e operações para manipular strings, com exemplos: ◦ 1. Concatenação ◦ Unir duas ou mais strings. nome = "João" sobrenome = "Silva" nome_completo = nome + " " + sobrenome print(nome_completo) # Saída: João Silva
  • 6.
    Strings ◦ 2. Multiplicaçãode Strings ◦ Repetir uma string várias vezes.  risada = "ha" * 5  print(risada) # Saída: hahahahaha ◦ 3.Acesso a Caracteres ◦ Acessar um caractere específico usando índice (baseado em zero).  frase = "Python é divertido"  print(frase[0]) # Saída: P  print(frase[-1]) # Saída: o (último caractere)
  • 7.
    Strings ◦ 4. Fatiamento(Slicing) ◦ Obter partes de uma string.  frase = "Python é divertido"  print(frase[0:6]) # Saída: Python  print(frase[7:]) # Saída: é divertido  print(frase[:6]) # Saída: Python  print(frase[::-1]) # Saída: oditrevi dés nohtyP (inverso)
  • 8.
    Strings ◦ 5. Métodolen() ◦ Retorna o comprimento da string.  frase = "Python é divertido"  print(len(frase)) # Saída: 19 ◦ 6. Método upper() ◦ Converte todos os caracteres para maiúsculas.  frase = "Python é divertido"  print(frase.upper()) # Saída: PYTHON É DIVERTIDO
  • 9.
    Strings ◦ 7. Métodolower() ◦ Converte todos os caracteres para minúsculas.  frase = "Python é divertido"  print(frase.lower()) # Saída: python é divertido ◦ 8. Método capitalize() ◦ Coloca a primeira letra em maiúscula.  frase = "python é divertido"  print(frase.capitalize()) # Saída: Python é divertido
  • 10.
    Strings ◦ 9. Métodotitle() ◦ Coloca a primeira letra de cada palavra em maiúscula.  frase = "python é divertido"  print(frase.title()) # Saída: Python É Divertido ◦ 10. Método strip() ◦ Remove espaços em branco do início e do fim da string.  frase = " Python é divertido "  print(frase.strip()) # Saída: Python é divertido
  • 11.
    Strings ◦ 11. Métodoreplace() ◦ Substitui parte da string por outra.  frase = "Python é divertido"  nova_frase = frase.replace("divertido", "incrível")  print(nova_frase) # Saída: Python é incrível ◦ 12. Método split() ◦ Divide a string em uma lista de substrings baseadas em um separador.  frase = "Python é divertido"  palavras = frase.split()  print(palavras) # Saída: ['Python', 'é', 'divertido']
  • 12.
    Strings ◦ 13. Métodojoin() ◦ Junta uma lista de strings em uma única string.  palavras = ["Python", "é", "divertido"]  frase = " ".join(palavras)  print(frase) # Saída: Python é divertido ◦ 14. Método find() ◦ Encontra a posição de uma substring (retorna -1 se não encontrar).  frase = "Python é divertido"  posicao = frase.find("divertido")  print(posicao) # Saída: 9
  • 13.
    Strings ◦ 15. Métodoindex() ◦ Semelhante ao find(), mas gera erro se a substring não for encontrada.  frase = "Python é divertido"  posicao = frase.index("divertido")  print(posicao) # Saída: 9
  • 14.
    Strings ◦ 16. Métodostartswith() ◦ Verifica se a string começa com uma determinada substring.  frase = "Python é divertido"  print(frase.startswith("Python")) # Saída:True ◦ 17. Método endswith() ◦ Verifica se a string termina com uma determinada substring.  frase = "Python é divertido"  print(frase.endswith("divertido")) # Saída:True
  • 15.
    Strings ◦ 18. Métodoisalpha() ◦ Verifica se todos os caracteres são letras.  frase = "Python"  print(frase.isalpha()) # Saída:True ◦ 19. Método isdigit() ◦ Verifica se todos os caracteres são dígitos.  numero = "12345"  print(numero.isdigit()) # Saída:True
  • 16.
    Strings ◦ 20. Métodoisspace() ◦ Verifica se a string contém apenas espaços.  espacos = " "  print(espacos.isspace()) # Saída:True ◦ 21. Método count() ◦ Conta quantas vezes uma substring aparece na string.  frase = "Python é divertido"  print(frase.count("e")) # Saída: 2
  • 17.
    Strings  22. Formataçãode Strings (f-strings)  Inserir variáveis dentro de strings. ◦ nome = "João" ◦ idade = 25 ◦ mensagem = f"Meu nome é {nome} e tenho {idade} anos." ◦ print(mensagem) # Saída: Meu nome é João e tenho 25 anos. ◦ print (f"Meu nome é {nome} e tenho {idade} anos."
  • 18.
    Strings  O comandoin pode ser utilizado com strings em Python. Ele é usado para verificar se uma substring (uma parte menor de uma string) está presente dentro de outra string.  O resultado dessa operação é um valor booleano (True ou False).
  • 19.
    Strings  frase ="Python é uma linguagem poderosa"  substring = "linguagem"  #Verifica se a substring está na frase  if substring in frase:  print(f"A substring '{substring}' está presente na frase.")  else:  print(f"A substring '{substring}' não foi encontrada na frase.")
  • 20.
    Strings  palavra ="programação"  letra = "a"  if letra in palavra:  print(f"A letra '{letra}' está presente na palavra '{palavra}'.")  else:  print(f"A letra '{letra}' não está presente na palavra '{palavra}'.")
  • 21.
    Strings  frase ="Python é divertido"  palavra = "chato"  if palavra not in frase:  print(f"A palavra '{palavra}' não está presente na frase.")  else:  print(f"A palavra '{palavra}' está presente na frase.")
  • 22.
    Strings  frase ="Python é uma linguagem poderosa"  vogais = "aeiou"  print("Vogais na frase:")  for letra in frase:  if letra in vogais:  print(letra)  Vogais na frase:  e  a  u  a  e  a  o  a
  • 23.
    1. Contar onúmero de vogais em uma frase  Descrição: Escreva um programa que conte quantas vogais (a, e, i, o, u) existem em uma frase fornecida pelo usuário. frase = input("Digite uma frase: ").lower() vogais = "aeiou" contador = 0 for letra in frase: if letra in vogais: contador += 1 print(f"A frase contém {contador} vogal(is).")
  • 24.
    2.Verificar se umapalavra é um palíndromo  Descrição: Um palíndromo é uma palavra ou frase que pode ser lida da mesma forma de trás para frente. Escreva um programa que verifique se uma palavra é um palíndromo. palavra = input("Digite uma palavra: ").lower().replace(" ", "") if palavra == palavra[::-1]: print("É um palíndromo!") else: print("Não é um palíndromo.")
  • 25.
    3. Substituir vogaispor números  Descrição: Escreva um programa que substitua todas as vogais de uma frase pelos números correspondentes: a=1, e=2, i=3, o=4, u=5. frase = input("Digite uma frase: ").lower() substituicoes = {"a": "1", "e": "2", "i": "3", "o": "4", "u": "5"} nova_frase = "" for letra in frase: if letra in substituicoes: nova_frase += substituicoes[letra] else: nova_frase += letra print(f"Frase modificada: {nova_frase}")
  • 26.
    4. Inverter cadapalavra de uma frase  Descrição: Escreva um programa que inverta cada palavra de uma frase, mas mantenha a ordem das palavras. frase = input("Digite uma frase: ") palavras = frase.split() palavras_invertidas = [] for palavra in palavras: palavra_invertida = palavra[::-1] # Inverte a palavra palavras_invertidas.append(palavra_invertida) frase_invertida = " ".join(palavras_invertidas) print(f"Frase com palavras invertidas: {frase_invertida}")
  • 27.
    5. Remover caracteresduplicados de uma string  Descrição: Escreva um programa que remova todos os caracteres duplicados de uma string. string = input("Digite uma string: ") resultado = "" for letra in string: if letra not in resultado: resultado += letra print(f"String sem duplicados: {resultado}")
  • 29.
    Criptografar uma mensagem usandocifra de César  Descrição: A cifra de César é uma técnica de criptografia que substitui cada letra por outra que está um número fixo de posições à frente no alfabeto. Escreva um programa que criptografe uma mensagem com uma chave fornecida.
  • 30.
    def cifra_cesar(mensagem, chave): alfabeto= "abcdefghijklmnopqrstuvwxyz" mensagem_criptografada = "" for letra in mensagem.lower(): if letra in alfabeto: indice = (alfabeto.index(letra) + chave) % 26 mensagem_criptografada += alfabeto[indice] else: mensagem_criptografada += letra return mensagem_criptografada mensagem = input("Digite a mensagem: ") chave = int(input("Digite a chave (número inteiro): ")) print(f"Mensagem criptografada: {cifra_cesar(mensagem, chave)}")
  • 31.
    Encontrar a substringmais longa sem repetir caracteres  Descrição: Escreva um programa que encontre a substring mais longa em uma string sem repetir caracteres. def substring_sem_repeticao(s): substr = "" maior_substr = "" for letra in s: if letra not in substr: substr += letra else: if len(substr) > len(maior_substr): maior_substr = substr substr = letra return maior_substr if len(maior_substr) > len(substr) else substr string = input("Digite uma string: ") print(f"Substring mais longa sem repetição: {substring_sem_repeticao(string)}")
  • 32.
    Validar um númerode telefone  Descrição: Escreva um programa que valide se uma string representa um número de telefone no formato (XX) XXXX-XXXX. import re telefone = input("Digite um número de telefone: ") padrao = r"^(d{2}) d{4}-d{4}$" if re.match(padrao, telefone): print("Número de telefone válido.") else: print("Número de telefone inválido.")
  • 33.
    Contar o númerode palavras únicas em uma frase  Descrição: Escreva um programa que conte o número de palavras únicas em uma frase, ignorando maiúsculas e minúsculas. frase = input("Digite uma frase: ").lower() palavras = frase.split() unicas = set(palavras) print(f"Número de palavras únicas: {len(unicas)}")
  • 34.
    Gerar um acrônimo Descrição: Escreva um programa que gere um acrônimo a partir de uma frase. O acrônimo deve consistir das primeiras letras de cada palavra. frase = input("Digite uma frase: ") palavras = frase.split() acronimo = "" for palavra in palavras: acronimo += palavra[0].upper() print(f"Acrônimo: {acronimo}")