Um guia passo a passo para construir seu primeiro programa completo em Python — usando variáveis, listas, loops, condicionais e funções.
Imagine que você organiza uma sessão de cinema. Seus amigos precisam votar em qual filme assistir. Você precisa de um sistema que:
É como uma urna de votação: você mostra as opções no mural, cada pessoa deposita seu voto na urna (lista), e quando todos votaram, você abre a urna e conta os votos!
Antes de escrever código, visualize o fluxo:
Imagine que você vai imprimir o menu toda vez que alguém votar. Em vez de copiar e colar o mesmo código várias vezes, colocamos dentro de uma função — assim basta chamar mostrar_menu() quando precisar!
Você escreve a receita uma vez. Toda vez que quer bolo, segue a receita. Não precisa inventar de novo!
def mostrar_menu(): print("🎬 Votação de Filme") print("1 - Filme A") print("2 - Filme B") print("3 - Filme C") print("0 - Encerrar")
mostrar_menu é escolhido por nós, e os parênteses () indicam que é uma função. Tudo que está indentado (com espaço) abaixo dela faz parte da função.while True significa: "repita para sempre". Mas calma! Dentro do loop, usamos break para escapar quando o usuário digitar 0.
O porteiro fica na porta o tempo todo perguntando: "Qual seu voto?". Quando alguém diz "0 — chega!", ele fecha a porta (break).
votos = [] # Lista vazia — nossa "urna" while True: mostrar_menu() # Chama a função! opcao = int(input("Digite seu voto: ")) if opcao == 0: break # 🛑 Sai do loop! elif opcao == 1 or opcao == 2 or opcao == 3: votos.append(opcao) # 📦 Guarda na lista print("✅ Voto registrado!") else: print("⚠️ Opção inválida!")
break, o loop roda para sempre e trava o programa! Sempre tenha uma condição de saída.
Cada voto é adicionado à lista com .append(). Clique para simular:
Uma lista em Python é como uma caixa mágica que guarda vários valores em sequência. Criamos com [] e adicionamos itens com .append().
Cada página é uma posição. Quando alguém vota, você escreve na próxima página disponível. No final, você folheia e conta!
# Criando lista vazia votos = [] # Alguém vota no Filme A (opção 1) votos.append(1) # votos = [1] # Outra pessoa vota no Filme C (opção 3) votos.append(3) # votos = [1, 3] # Mais uma pessoa vota no Filme A (opção 1) votos.append(1) # votos = [1, 3, 1] # Contando votos do Filme A: votos.count(1) # Resultado: 2 ✨
Depois que a votação encerra, precisamos: 1) contar os votos de cada filme e 2) comparar quem tem mais. Usamos .count() para contar e if/elif/else para comparar.
# Contando votos de cada filme v1 = votos.count(1) # Quantos votaram 1? v2 = votos.count(2) # Quantos votaram 2? v3 = votos.count(3) # Quantos votaram 3? # Quem ganhou? if v1 >= v2 and v1 >= v3: print(f"Filme A ganhou com {v1} voto(s)!") elif v2 >= v1 and v2 >= v3: print(f"Filme B ganhou com {v2} voto(s)!") else: print(f"Filme C ganhou com {v3} voto(s)!")
SE o Filme A tem mais (ou igual) votos que B E mais que C → A ganhou!
SENÃO SE B tem mais que A E mais que C → B ganhou!
SENÃO → sobrou C, então C ganhou!
{chaves}. É como um template que o Python preenche automaticamente!
# 🎬 Sistema de Votação de Filme # Desafio 1 — Programa AI def mostrar_menu(): print("🎬 Votação de Filme") print("1 - Filme A") print("2 - Filme B") print("3 - Filme C") print("0 - Encerrar") votos = [] # Lista vazia — nossa urna while True: mostrar_menu() opcao = int(input("Digite seu voto: ")) if opcao == 0: break elif opcao == 1 or opcao == 2 or opcao == 3: votos.append(opcao) print("✅ Voto registrado!") else: print("⚠️ Opção inválida!") # Contagem final v1 = votos.count(1) v2 = votos.count(2) v3 = votos.count(3) if v1 >= v2 and v1 >= v3: print(f"🏆 Filme A ganhou com {v1} voto(s)!") elif v2 >= v1 and v2 >= v3: print(f"🏆 Filme B ganhou com {v2} voto(s)!") else: print(f"🏆 Filme C ganhou com {v3} voto(s)!")
mostrar_menu() — organiza e reutiliza código
votos = [] — armazena todos os votos
while True + break — repete até digitar 0
if/elif/else — decide o que fazer com cada voto
opcao, v1, v2, v3 — guardam dados temporários
Veja como o programa roda passo a passo no terminal:
Você aprendeu a combinar funções, listas, loops e condicionais num programa completo. Agora é sua vez de criar!