Implementar um programa de gerenciamento de high scores. O programa deve:
pedir ao usuário o seu nome e a sua pontuação no jogo.
pedir ao usuário o seu nome e a sua pontuação no jogo.
Passo 1
Beleza, o que o enunciado tá pedindo é um programa simples de “high scores”: ele vai perguntar pro jogador qual é o nome dele e qual foi a pontuação que ele tirou no jogo.
Conteúdo: programação básica (variáveis, entrada e saída de dados, estruturas de dados simples). A gente vai precisar saber como ler dados do teclado, guardar esses dados em variáveis e, se quiser “gerenciar” vários high scores, usar uma lista para armazenar tudo.
Conteúdo: programação básica (variáveis, entrada e saída de dados, estruturas de dados simples). A gente vai precisar saber como ler dados do teclado, guardar esses dados em variáveis e, se quiser “gerenciar” vários high scores, usar uma lista para armazenar tudo.
Passo 2
Primeiro, vamos ver como ler dados do usuário em Python.
- Para capturar texto usamos a função input().
- Para capturar números inteiros transformamos o resultado de input() em int().
Exemplo:
nome = input("Digite seu nome: ")
pontuacao = int(input("Digite sua pontuação: "))
Passo 3
Agora precisamos de um lugar para guardar esses dados. A forma mais simples é usar uma lista de tuplas, onde cada tupla tem (nome, pontuação). Então:
high_scores = []
high_scores.append((nome, pontuacao))
Isso cria uma lista vazia e adiciona a tupla com o nome e a pontuação que acabamos de ler.
Passo 4
Pra deixar o programa interativo, podemos permitir que o usuário cadastre vários high scores. A gente faz um laço que só para quando o usuário quiser. Por exemplo:
while True:
nome = input("Digite seu nome (ou ENTER para sair): ")
if nome == "":
break
pontuacao = int(input("Digite sua pontuação: "))
high_scores.append((nome, pontuacao))
Passo 5
Por fim, a gente exibe a lista de high scores. Se quiser ver em ordem decrescente de pontuação, basta usar o método sort() com um key.
# Ordena do maior para o menor (key=lambda x: x[1] indica que a gente compara pela pontuação)
high_scores.sort(key=lambda x: x[1], reverse=True)
print("\n=== HIGH SCORES ===")
for jogador, pts in high_scores:
print(f"{jogador}: {pts} pontos")
Resposta
Aqui está o programa completo em Python para gerenciar seus high scores:
high_scores = []
while True:
nome = input("Digite seu nome (ou ENTER para sair): ")
if nome == "":
break
pontuacao = int(input("Digite sua pontuação: "))
high_scores.append((nome, pontuacao))
high_scores.sort(key=lambda x: x[1], reverse=True)
print("\n=== HIGH SCORES ===")
for jogador, pts in high_scores:
print(f"{jogador}: {pts} pontos")