Pular para o conteúdo
Editor

Python para iniciantes: seu primeiro programa em 5 minutos

Iniciante20 min4 exercícios60 XP

Este tutorial foi traduzido do original em inglês.Read in EnglishLeer en españolЧитать на русскомอ่านภาษาไทยAvisar sobre um erro de tradução

0/4 exercícios

Você já se perguntou como apps como Instagram, Spotify ou YouTube funcionam de verdade? Por trás de todo app, site e jogo existe código: instruções escritas por uma pessoa, dizendo ao computador o que fazer.

Python é uma das linguagens mais populares para escrever essas instruções. Ela se lê quase como inglês comum, então você pode se concentrar em resolver problemas em vez de brigar com uma sintaxe confusa.

Neste tutorial, você vai escrever seu primeiro programa em Python, aprender como o Python lida com texto e números e começar a usar variáveis para guardar informações. Todos os exemplos de código desta página são interativos: você pode clicar em Executar, mudar o que quiser e ver o resultado na hora. Não precisa instalar nada.

Como escrever seu primeiro programa em Python

Existe uma tradição divertida na programação: a primeira coisa que você faz em qualquer linguagem nova é fazer com que ela diga "Hello, World!" ("Olá, mundo!"). É um aperto de mão rápido entre você e a linguagem, a prova de que tudo funciona.

Em algumas linguagens, isso exige 5 linhas de código ou mais. Em Python, é uma só:

Seu primeiro programa em Python
print("Hello, World!")
Saída
Hello, World!

Clique no botão Executar acima. Você deve ver Hello, World! aparecer abaixo do código. Pronto: você acabou de executar um programa em Python!

Vamos entender o que aconteceu:

  • print() é uma função embutida. Pense nela como uma máquina: você coloca algo dentro e ela faz alguma coisa com isso. Esta mostra texto na tela.
  • Os parênteses () são onde você passa os dados. Os programadores chamam isso de "argumento".
  • "Hello, World!" é uma string, um nome mais chique para texto. As aspas dizem ao Python: "isto é texto, não código".
  • Experimente mudar a mensagem entre as aspas e executar de novo. Tente exibir o seu nome. Tente adicionar um segundo print() em uma nova linha:

    Exibindo várias linhas
    print("Hello, World!")
    print("My name is Python.")
    print("Nice to meet you!")
    Saída
    Hello, World!
    My name is Python.
    Nice to meet you!

    Cada print() aparece em sua própria linha. O Python lê o seu código de cima para baixo, uma linha por vez, como quem lê um livro.

    A ordem em que você escreve as coisas é a ordem em que elas rodam. Essa é uma das ideias mais importantes da programação.

    O que são comentários em Python?

    Um comentário é uma anotação que você escreve dentro do código e que o Python ignora por completo. Para criar um, comece a linha com o símbolo #.

    Por que você ia querer que o Python ignorasse alguma coisa? Porque comentários são para pessoas, não para computadores. Eles ajudam você (e qualquer outra pessoa que leia o seu código) a entender o que está acontecendo.

    Como funcionam os comentários em Python
    # This is a comment - Python skips this line
    print("This line runs!") # You can also add comments at the end
    # Comments are great for leaving notes to yourself:
    # TODO: add more features later
    # You can also "comment out" code to temporarily disable it:
    # print("This line won't run because it starts with #")
    Saída
    This line runs!

    Pense nos comentários como post-its colados numa receita. O forno não lê esses bilhetes, mas eles ajudam você a lembrar por que colocou mais sal ou qual temperatura funcionou melhor.

    Strings e números em Python: qual é a diferença?

    Tudo em Python tem um tipo. Um tipo é como uma etiqueta que diz ao Python que espécie de dado aquilo é e o que você pode fazer com ele.

    Os dois tipos mais básicos são as strings (texto) e os números. Entender a diferença entre eles vai livrar você de muitos erros confusos.

    Como criar strings em Python

    Uma string é qualquer texto entre aspas. Você pode usar aspas simples ('hello') ou aspas duplas ("hello"): as duas funcionam exatamente do mesmo jeito.

    Criando strings
    print("Hello!") # Using double quotes
    print('Hello!') # Using single quotes - same result
    # Handy trick: if your text has a quote inside it,
    # use the OTHER type of quote on the outside:
    print("It's a sunny day!") # Apostrophe inside double quotes
    print('She said "wow!"')
    Saída
    Hello!
    Hello!
    It's a sunny day!
    She said "wow!"

    Strings podem conter qualquer coisa: letras, números, espaços, pontuação e até emoji. Desde que esteja entre aspas, o Python trata como texto.

    Tipos numéricos em Python: inteiros e floats

    Os números em Python vêm em dois sabores:

  • Inteiros (int): números sem parte decimal, como 42, -7 ou 1000000. Sem ponto decimal.
  • Números de ponto flutuante (float): números decimais, como 3.14, -0.5 ou 100.0. Eles sempre têm um ponto decimal (em Python é ponto, não vírgula).
  • Exemplos de inteiros e floats
    print(42) # Integer (whole number)
    print(3.14) # Float (decimal number)
    print(-7) # Negative integer
    print(1_000_000) # Underscores make big numbers readable - Python ignores them
    Saída
    42
    3.14
    -7
    1000000

    Por que o tipo dos dados importa em Python?

    Aqui está algo que confunde quase todo iniciante: "42" (com aspas) e 42 (sem aspas) são coisas completamente diferentes para o Python.

    Um é texto. O outro é um número. Eles parecem iguais quando exibidos, mas se comportam de maneiras muito diferentes:

    A diferença entre "42" e 42
    # They look the same when printed...
    print("42")
    print(42)
    # But Python sees them as different types:
    print(type("42")) # <class 'str'> - it's a string (text)
    print(type(42)) # <class 'int'> - it's an integer (number)
    # And they behave differently with the + operator:
    print("42" + "8") # "428" - joins the text together
    print(42 + 8) # 50 - does math
    Saída
    42
    42
    <class 'str'>
    <class 'int'>
    428
    50

    "42" + "8" resulta em "428" porque + entre strings significa "cole uma na outra". Isso se chama concatenação.

    42 + 8 resulta em 50 porque + entre números significa "some". O mesmo operador, com um comportamento completamente diferente dependendo do tipo.

    A função type() diz exatamente com que tipo de dado você está trabalhando. Quando algo não se comporta como você espera, verificar o tipo costuma ser a primeira coisa a tentar.

    Como fazer contas em Python

    Python funciona muito bem como calculadora. Ele lida com números de qualquer tamanho sem esforço nenhum, ao contrário de algumas linguagens que engasgam com números grandes.

    Estes são todos os operadores matemáticos que você vai usar:

    Operadores matemáticos do Python
    print(2 + 3) # Addition → 5
    print(10 - 4) # Subtraction → 6
    print(3 * 7) # Multiplication → 21
    print(15 / 4) # Division → 3.75
    print(15 // 4) # Floor division → 3 (rounds down)
    print(15 % 4) # Modulo → 3 (the remainder)
    print(2 ** 10) # Exponent → 1024 (2 to the power of 10)
    Saída
    5
    6
    21
    3.75
    3
    3
    1024

    A maioria funciona como nas aulas de matemática. Mas alguns podem ser novidade para você.

    / (divisão) sempre dá um resultado decimal, mesmo quando a divisão é exata. 10 / 2 resulta em 5.0, não em 5. Isso pega muita gente de surpresa.

    // (divisão inteira) divide e depois arredonda para baixo, até o número inteiro mais próximo. Com números positivos, pense nela como "divisão, mas jogando fora tudo o que vem depois do ponto decimal". Com números negativos, arredondar para baixo afasta o resultado do zero: -7 // 2 dá -4.

    % (módulo) dá o resto da divisão. Por exemplo, 15 ÷ 4 = 3, com resto 3. Isso é surpreendentemente útil: você pode verificar se um número é par (n % 2 == 0), fazer valores "darem a volta" (como as horas num relógio: 13 % 12 = 1) e muito mais.

    ` (exponenciação)** eleva um número a uma potência. 2 ** 10` significa "dez números 2 multiplicados entre si", o que dá 1024.

    O Python segue a ordem usual das operações da matemática: primeiro parênteses, depois potências, depois multiplicação e divisão e, por último, soma e subtração. Você pode usar parênteses para mudar a ordem:

    Ordem das operações e parênteses
    # Without parentheses: multiplication happens first
    print(2 + 3 * 4) # 2 + 12 = 14
    # With parentheses: addition happens first
    print((2 + 3) * 4) # 5 * 4 = 20
    # A real example: Celsius to Fahrenheit
    celsius = 25
    fahrenheit = (celsius * 9/5) + 32
    print(f"{celsius}°C = {fahrenheit}°F")
    Saída
    14
    20
    25°C = 77.0°F
    ❌ O que os iniciantes esperam
    # "Division gives a whole number, right?"
    result = 10 / 3
    print(result)  # Expects: 3
    ✓ O que o Python realmente faz
    # / always gives a decimal (float)
    result = 10 / 3
    print(result)  # 3.3333333333333335
    
    # Use // to get a whole number
    result = 10 // 3
    print(result)  # 3

    O que são variáveis em Python e como usá-las?

    Até agora, trabalhamos direto com valores: print(42), print(2 + 3). Isso serve para contas rápidas, mas programas de verdade precisam lembrar valores e usá-los depois.

    É para isso que servem as variáveis. Pense em uma variável como um recipiente com etiqueta. Você dá um nome a ela, coloca um valor dentro e depois usa esse nome sempre que precisar do valor.

    Criando e usando variáveis
    # Creating variables - pick a name and use =
    name = "Alice"
    age = 15
    height = 5.4
    is_student = True
    # Now use the names instead of raw values
    print(name) # Alice
    print(age) # 15
    print(height) # 5.4
    print(is_student) # True
    Saída
    Alice
    15
    5.4
    True

    name = "Alice" cria uma variável chamada name e guarda nela a string "Alice". O sinal = é o operador de atribuição: ele não significa "igual" como na matemática. Significa "guarde este valor com este nome".

    Leia name = "Alice" como: "name recebe Alice". Essa distinção é importante e vai evitar confusão mais tarde.

    Repare que não existe palavra-chave let, var ou const. Em JavaScript, você escreveria let name = "Alice". Em Python, você escreve só name = "Alice". O Python também não precisa de declaração de tipo: ele descobre o tipo a partir do valor, automaticamente.

    Variáveis podem mudar. Você pode dar a elas um novo valor a qualquer momento:

    Atualizando variáveis
    score = 0
    print(f"Starting score: {score}")
    score = 10
    print(f"After first round: {score}")
    # Use the current value to calculate the new value
    score = score + 5
    print(f"After bonus: {score}")
    score = score * 2
    print(f"After doubling: {score}")
    Saída
    Starting score: 0
    After first round: 10
    After bonus: 15
    After doubling: 30

    A linha score = score + 5 parece estranha se você pensar no = como "igual". Mas lembre-se: = significa "atribuir".

    Leia assim: "pegue o valor atual de score (10), some 5 para obter 15 e guarde esse resultado de volta em score". Esse padrão, atualizar uma variável com base no seu valor atual, aparece em todo lugar na programação.

    Como usar f-strings em Python (formatação de strings)

    Em quase todo programa, você vai precisar misturar variáveis com texto. Mostrar uma mensagem de boas-vindas com o nome da pessoa, exibir uma pontuação, imprimir um recibo: tudo isso exige combinar dados com texto.

    O Python tem uma ferramenta excelente para isso, chamada f-strings (o "f" vem de "formatted", formatada). Coloque a letra f antes da aspa de abertura e depois coloque qualquer variável ou expressão entre chaves, assim: {curly braces}.

    f-strings: misturando variáveis com texto
    name = "Alice"
    age = 15
    # Basic f-string - variables go inside {braces}
    print(f"Hi, my name is {name}!")
    print(f"I am {age} years old.")
    # You can put math and expressions inside the braces too
    print(f"Next year I'll be {age + 1}.")
    print(f"My name has {len(name)} letters.")
    print(f"My name in uppercase: {name.upper()}")
    Saída
    Hi, my name is Alice!
    I am 15 years old.
    Next year I'll be 16.
    My name has 5 letters.
    My name in uppercase: ALICE

    A mágica está nas chaves, {curly braces}. O Python avalia a expressão que estiver dentro delas, converte o resultado em texto e o encaixa na string.

    Você pode colocar quase qualquer coisa dentro das chaves: variáveis, contas, chamadas de função e até comparações. Vamos ver um exemplo mais prático:

    Exemplo prático de f-string
    # A mini shopping receipt
    item = "coffee"
    price = 4.50
    quantity = 3
    total = price * quantity
    print(f"Item: {item}")
    print(f"Price: ${price} x {quantity}")
    print(f"Total: ${total}")
    Saída
    Item: coffee
    Price: $4.5 x 3
    Total: $13.5

    Compare com o jeito antigo de montar strings, usando + para costurar os pedaços:

    ❌ Sem f-strings (bagunçado)
    name = "Alice"
    age = 15
    
    # Have to convert age, lots of + signs
    print("Hi, my name is " + name + "!")
    print("I am " + str(age) + " years old.")
    ✓ Com f-strings (limpo)
    name = "Alice"
    age = 15
    
    # Just put variables inside {braces}
    print(f"Hi, my name is {name}!")
    print(f"I am {age} years old.")

    O jeito antigo exige str(age) para converter o número em texto manualmente. Lembre-se: você não pode usar + para juntar uma string e um número diretamente.

    As f-strings fazem essa conversão automaticamente. Elas são mais limpas, mais rápidas e menos sujeitas a erros. Use-as sempre em código novo.

    Juntando tudo: um miniprojeto

    Vamos combinar tudo em um pequeno programa. Ele mostra o padrão que você vai usar em todo projeto Python: guardar dados em variáveis, fazer cálculos e exibir os resultados.

    Miniprojeto: calculadora de gorjeta
    # === Tip Calculator ===
    # Input data
    meal_cost = 52.50
    tax_rate = 0.08 # 8% tax
    tip_rate = 0.20 # 20% tip
    # Calculations
    tax = meal_cost * tax_rate
    subtotal = meal_cost + tax
    tip = subtotal * tip_rate
    total = subtotal + tip
    # Display a formatted receipt
    print("=" * 28)
    print(" TIP CALCULATOR")
    print("=" * 28)
    print(f" Meal: ${meal_cost:.2f}")
    print(f" Tax (8%): ${tax:.2f}")
    print(f" Subtotal: ${subtotal:.2f}")
    print(f" Tip (20%): ${tip:.2f}")
    print("-" * 28)
    print(f" TOTAL: ${total:.2f}")
    print("=" * 28)
    Saída
    ============================
         TIP CALCULATOR
    ============================
      Meal:       $52.50
      Tax (8%):   $4.20
      Subtotal:   $56.70
      Tip (20%):  $11.34
    ----------------------------
      TOTAL:      $68.04
    ============================

    Não se preocupe com a parte :.2f: ela quer dizer "mostre exatamente 2 casas decimais" (assim, 4.5 aparece como 4.50). Vamos ver formatação em detalhes mais adiante.

    O importante é o padrão: guardar dados → fazer cálculos → exibir resultados. Esse é o núcleo de todo programa, tenha ele 10 linhas ou 10.000.

    Experimente mudar meal_cost, tax_rate ou tip_rate e executar de novo!


    Exercícios práticos

    Agora é a sua vez! Estes exercícios vão do mais simples ao mais difícil, e cada um usa o que você aprendeu.

    Algumas dicas antes de começar:

  • Tente primeiro, espie depois. Quebrar um pouco a cabeça é como o seu cérebro realmente aprende.
  • Leia as mensagens de erro. Elas parecem assustadoras, mas costumam dizer exatamente o que deu errado.
  • Use as dicas com moderação. Cada exercício tem dicas que aparecem uma de cada vez.
  • Experimente depois de resolver. Quando aparecer a marca verde, mude coisas para ver o que acontece.
  • Exercício 1: exiba uma saudação
    Escreva o código

    Escreva um programa que exiba exatamente:

    Hello, Python!

    O teste verifica se a saída é idêntica, incluindo a vírgula, o espaço e o ponto de exclamação.

    # Print the greeting below
    Exercício 2: conta do restaurante
    Escreva o código

    Uma refeição custa US$ 24,50, o imposto é de US$ 2,45 e a gorjeta é de US$ 5,00. As variáveis já foram criadas para você.

    Calcule o total e exiba-o exatamente neste formato:

    Total: $31.95
    meal = 24.50
    tax = 2.45
    tip = 5.00
    # Calculate the total and print it
    Exercício 3: apresentação pessoal
    Escreva o código

    Crie duas variáveis:

  • name com o valor "Alice"
  • language com o valor "Python"
  • Depois, use uma f-string para exibir:

    Hi, I'm Alice and I love Python!
    # Create your variables
    # Print the introduction using an f-string
    Exercício 4: corrija a calculadora quebrada
    Corrija o erro

    Este código deveria calcular a área de um retângulo (largura × altura) e exibi-la. Mas ele tem dois bugs!

    Primeiro, execute o código com defeito e leia a mensagem de erro. Depois, corrija os dois bugs para que a saída seja:

    Area: 35
    width = 5
    height = 7
    area = width + height
    print("Area: " + area)

    Resumo: o que você aprendeu neste tutorial

    Muito bem, você concluiu seu primeiro tutorial de Python! Veja tudo o que você já sabe:

    ConceitoO que fazExemplo
    print()Exibe a saída na telaprint("hello")
    Comentários (#)Anotações que o Python ignora# this is a note
    StringsDados de texto entre aspas"hello" ou 'hello'
    InteirosNúmeros sem parte decimal42, -7
    FloatsNúmeros decimais3.14, 0.5
    Operadores matemáticos+ - * / // % **2 ** 10 → 1024
    type()Diz qual é o tipo de um dadotype(42) → int
    VariáveisRecipientes com nome para guardar dadosage = 15
    f-stringsInserem variáveis em um textof"Age: {age}"

    Esses não são conceitos de iniciante que você vai deixar para trás. Eles são a base de todo programa em Python. Até o código mais avançado é uma combinação criativa desses blocos básicos.

    O que vem a seguir?

    No próximo tutorial, Variáveis e tipos de dados, você vai se aprofundar em como o Python guarda dados. Vai conhecer os booleanos (True/False), o None e a conversão de tipos.

    Você também vai descobrir por que 0.1 + 0.2 não é igual a 0.3 em Python (nem em qualquer outra linguagem de programação) e o que fazer a respeito.

    Tutoriais relacionados

    Este tutorial foi útil?