Você se garante na tabuada?
Desenvolva um jogo para praticar a tabuada usando Python.
Se tem algo que aprendemos na escola e usamos pro resto da vida, são as operações aritméticas. Todo dia tem um troquinho pra subtrair, uma receita pra multiplicar os ingredientes, uma conta pra dividir com a galera ou uma economia pra somar na reserva financeira. São nessas situações que estar com a habilidade afiada ajuda muito.
Uma maneira de manter essas continhas sempre na ponta da língua é praticando a tabuada. Que tal desenvolvermos um jogo pra ajudar nisso?
Definições
Primeiro vamos deixar as regras bem definidas para facilitar o trabalho de desenvolvimento:
Funcionamento
O jogo irá funcionar na linha de comando, e deverá seguir a seguinte rotina:
- É apresentada uma equação no formato: A operador B
- Digitamos a resposta e teclamos ENTER
- Se estiver correta: aparece uma nova equação (passo 1)
- Senão: o jogo acaba e é mostrado o número de acertos na partida
Limitações
É legal definir limites para o escopo não ficar muito amplo:
- Os operandos serão números inteiros entre 1 e 9
- O operador será exclusivamente o da multiplicação.
Exemplo
7 x 4
Resposta: 28
4 x 5
Resposta: 21
Acertos: 1
Implementação
Beleza, primeiro vamos estruturar a lógica do jogo usando valores fixos pros operandos. Em um arquivo tabuada.py digite o seguinte código:
A estrutura é simples:
- Declaramos uma função chamada
tabuada()
na qual a equação é definida em uma string simplesequacao = f'2 * 3'
- A equação é impressa na tela, substituindo o caractere ‘*’ por ‘x’
print(equacao.replace('*', 'x'))
- A função então retorna o resultado (
True
ouFalse
) da comparação de igualdade entre a resposta digitadaint(input('Resposta: '))
e o resultado da equação (utilizamos a funçãoeval(equacao)
para calcular o resultado) - A função então é chamada enquanto a resposta dada estiver correta
while(tabuada()):
e incrementa a variávelacertos += 1
- Quando a resposta for errada, a função retorna
False
, saindo do loop e imprimindo o número de acertosprint(f'Acertos: {acertos}')
2 x 3
Resposta: 6
2 x 3
Resposta: 6
2 x 3
Resposta: 5
Acertos: 2
Testando vemos que tá funcionando! Só não tem muita graça…
O próximo passo é gerar os operandos aleatoriamente. Mas como podemos fazer isso? O módulo random já vem disponível com a instalação do Python e tem um método que gera números inteiros aleatórios, por isso vamos utilizá-lo:
- Importamos o método randint do módulo random:
from random import randint
no topo do arquivo tabuada.py - Dentro da função, alteramos a declaração da equação para gerar os operandos de maneira aleatória:
equacao = f'{randint(1,9)} * {randint(1,9)}'
Resultado
7 x 4
Resposta: 28
8 x 5
Resposta: 40
5 x 5
Resposta: 25
5 x 3
Resposta: 14
Acertos: 3