// Aula 09 de 12

Strings e funções

Manipule texto com métodos de string e organize seu código em funções reutilizáveis.

📖 Teoria

Métodos de string

s = "Olá, Mundo!"
s.lower()       # "olá, mundo!"
s.upper()       # "OLÁ, MUNDO!"
s.strip()       # remove espaços das bordas
s.split(",")    # ["Olá", " Mundo!"]
s.replace("o","0") # "Olá, Mund0!"
len(s)          # 11

Verificações

"vogal" in "abogado"    # True
s.isdigit()             # só números?
s.isalpha()             # só letras?

Funções

def saudar(nome):
    return f"Olá, {nome}!"

mensagem = saudar("Ana")
print(mensagem)    # Olá, Ana!

// Exercícios

Exercício 1 Conta vogais NOVO

Leia uma frase e conte quantas vogais ela tem (a, e, i, o, u — maiúsculas ou minúsculas).

💡 Dica

Percorra a frase com for letra in frase.lower(): e verifique se letra in "aeiou".

Código Python
Entradas
Saída
Clique em Executar...
Exercício 2 Palíndromo NOVO

Leia uma palavra e verifique se ela é um palíndromo (lê-se igual de frente para trás, ex: "arara", "ovo"). Ignore maiúsculas/minúsculas.

💡 Dica

Compare a palavra com ela invertida: palavra == palavra[::-1]. Use .lower() antes.

Código Python
Entradas
Saída
Clique em Executar...
Exercício 3 Função de desconto NOVO

Crie uma função calcular_desconto(preco, percentual) que recebe o preço e o percentual e retorna o preço com desconto. Use-a para calcular 3 produtos diferentes.

💡 Dica

Dentro da função: return preco * (1 - percentual/100). A função deve retornar o valor, não printar.

Código Python
Entradas
Saída
Clique em Executar...
Exercício 4 Validador de senha forte NOVO

Crie uma função senha_forte(senha) que retorna True se a senha for forte. Critérios: pelo menos 8 caracteres, contém número, contém letra maiúscula.

💡 Dica

Use any(c.isdigit() for c in senha) para verificar se tem número. Mesma ideia para c.isupper().

Código Python
Entradas
Saída
Clique em Executar...
Exercício 5 Formatar nome completo DESAFIO — NOVO

Crie uma função formatar_nome(nome) que recebe um nome em qualquer formato (maiúscula, minúscula, misturado) e retorna: nome capitalizado, iniciais (ex: "A.S."), e o total de letras (sem espaços).

💡 Dica

Use nome.title() para capitalizar. Para iniciais: ".".join(p[0].upper() for p in nome.split()). Para contar letras: len(nome.replace(" ", "")).

Código Python
Entradas
Saída
Clique em Executar...
← Aula 08 Aula 9 de 12