Aulas do bloco

← Aulas

PythonTrilha · etapa 41h16

Strings, input e conversões

Vídeos desta etapa, na ordem do portal:

  1. Strings: Operações · 47 min
  2. Recebendo entrada · 28 min
Use o número do vídeo e o horário indicado como referência nos arquivos locais.

As aulas 1 a 3 deixaram print(), variável e operações com string prontos no console. Esta aula revisa +, *, len(), índice e fatiamento e destrava programa interativo com input(). input() sempre devolve string, então entra int() e float() para fazer conta e .count() para contar pedaços do texto.

O que foi falado

  1. Concatenar strings com +

    Vídeo 1 · 00:01:53

    O operador + junta duas strings em uma só, como "Eu " + "amo Python" que vira "Eu amo Python". Serve para montar frase com parte fixa mais variável, como "Olá, " + nome. Só funciona entre string e string: número precisa ser convertido antes.

    Python
    print("Olá, " + "Maria")
    nome = "Ana"
    print("Olá, " + nome)

    Saída

    Olá, Maria
    Olá, Ana
  2. Repetir com * e medir com len()

    Vídeo 1 · 00:05:07

    "A" * 3 repete a string e devolve "AAA", sem precisar escrever à mão. len() conta quantos caracteres tem, incluindo espaços, como len("eu amo Python") que dá 13. Espaço conta como caractere, por isso frase curta já dá número maior do que parece.

    Python
    print("A" * 3)
    print(len("eu amo Python"))

    Saída

    AAA
    13
  3. Acessar letra com [0] e [-1]

    Vídeo 1 · 00:15:37

    Cada caractere tem uma posição: da esquerda começa em 0, da direita começa em -1. texto[0] pega o primeiro, texto[-1] pega o último. Se pedir índice que não existe, como 13 numa string de 13 caracteres que vai de 0 a 12, o programa quebra com erro.

    Python
    texto = "Python Rules"
    print(texto[0])
    print(texto[-1])

    Saída

    P
    s
  4. Fatiar com [inicio:parada:passo]

    Vídeo 1 · 00:27:55

    Fatiamento usa texto[inicio:parada:passo], sem incluir a posição de parada. Com passo positivo, os limites omitidos apontam para o início e para o fim; com passo negativo, os padrões se ajustam à direção inversa. texto[2:7] pega índices de 2 a 6, enquanto texto[::-1] inverte a string. O passo padrão é 1.

    Python
    texto = "Python Rules"
    print(texto[2:7])
    print(texto[::-1])

    Saída

    thon 
    seluR nohtyP
  5. Trocar caixa com .lower() e .upper()

    Vídeo 1 · 00:37:19

    Método se chama como texto.lower(), com ponto colado na string. .lower() devolve tudo minúsculo, .upper() tudo maiúsculo, .swapcase() inverte e .capitalize() deixa só a primeira maiúscula. Nada muda a original: string é imutável e o método devolve uma string nova.

    Python
    nome = "Python Rules"
    print(nome.lower())
    print(nome.upper())
    print(nome)

    Saída

    python rules
    PYTHON RULES
    Python Rules
  6. input() sempre devolve string

    Vídeo 2 · 00:02:39

    input() pausa e lê o que foi digitado até o Enter, e sempre devolve string. Dá para guardar em variável como nome = input() ou mostrar pergunta junto como input("Qual seu nome?"). print() quebra linha no fim e input() não, então a digitação fica grudada na pergunta a menos que se use "\n" para pular linha.

  7. Converter com int(), float() e contar com .count()

    Vídeo 2 · 00:11:19

    Como input() devolve string, "10" precisa de int("10") para virar 10 e fazer conta. float("10") vira 10.0 para número com ponto. Dá para ler e converter direto com int(input()); se o texto não for número, como "A", dá erro e o programa para. .count() conta ocorrências, como texto.count(" ") + 1 para estimar palavras pelos espaços. Contar espaços e somar 1 só conta palavras corretamente quando o texto não é vazio, há um único espaço entre palavras e não há espaços nas bordas.

    Python
    print(int("10") * 2)
    print(float("10") * 2)
    print("BBB".count("B"))
    print("eu amo Python".count(" ") + 1)

    Saída

    20
    20.0
    3
    3

Conceitos da aula

  • concatenação
  • replicação
  • len()
  • indexação
  • fatiamento
  • imutabilidade
  • input()
  • int()
  • float()
  • count()
  • \n

Reforce este assunto

10 exercíciosComeçar →