Você já viu ou já jogou o joguinho de adivinhar o último número que a pessoa pensou que segue mais ou menos esse roteiro: pense em um número, soma ele mais ele, mais determinado número, menos o primeiro numero pensando?
Nesse código abaixo fiz uma solução para esse joguinho em na linguagem python!
from time import sleep from random import randrange print('-=' * 30) print('{:^60}'.format('JOGO DE ADIVINHAÇÃO')) print('-=' * 30) sleep(1) while True: print('\nPense em um numero!!!}') while True: r = str(input('\033[35;32mPensou? [S/N] \033[m')).upper() if r in 'SN': break print('ERRO! Por favor, digite apenas S ou N!') if r == 'S': break while True: print('\nSome ele mais ele! Ex.: 1 + 1') while True: r2 = str(input('\033[35;32mSomou? [S/N] \033[m')).upper() if r2 in 'SN': break print('ERRO! Por favor, digite apenas S ou N!') if r2 == 'S': break while True: n = randrange(2, 20, 2) print('\nAgora some {} ao valor da soma anterior!'.format(n)) while True: r3 = str(input('\033[35;32mSomou? [S/N] \033[m')).upper() if r3 in 'SN': break print('ERRO! Por favor, digite apenas S ou N!') if r3 == 'S': break while True: print('\nAgora divida por 2! ') divi = n / 2 while True: r4 = str(input('\033[35;32mDividiu? [S/N] \033[m')).upper() if r4 in 'SN': break print('ERRO! Por favor, digite apenas S ou N!') if r4 == 'S': break while True: print('\nMenos o primeiro numero que você pensou') while True: r5 = str(input('\033[35;32mSubtraiu? [S/N] \033[m')).upper() if r5 in "SN": break print('ERRO! Por favor, digite apenas S ou N!') if r5 == "S": break print('\n\n') print('PROCESSANDO', end='') for c in range(15): print('.', end='') sleep(0.2) print('\n') print('O resultado é \033[7;32;36m{}\033[m'.format(divi))
Caso não tenha o python instalado, clique aqui para testa-lo.
Explicando o Código
from time import sleep: Vai importar a função sleep do módulo time, a função sleep (dormir) pega como parâmetro um número que vai fazer o programa fazer uma pausa, ex: sleep(2) o programa vai da uma pausa de 2 segundos.
from random import randrange: Vai importa a função randrange do módulo random, a função randrange gera numero aleatórios e permite colocar intervalos, ex: randrange(2, 20, 2) vai gerar números aleatórios entre 2 e 20 no passo de 2 (Ex: 2, 4, 6, 8 etc).
print(‘-=’ * 30): Vai fazer aparecer “-= “ 30 vezes.
print(‘{:^60}’.format(‘JOGO DE ADIVINHAÇÃO’)): O comando format é para formatar, no caso a frase ‘JOGO DE ADIVINHAÇÃO’ vai ficar centralizada no entre os 60 espaços ( ‘{:^60}’). nas Versões mais novas do python esse comando pode ser escrito assim: print(f'{“JOGO DE ADIVINHAÇÃO”:^60}’).
while True: Loop infinito
r = str(input(‘\033[35;32mPensou? [S/N] \033[m‘)).upper(): A variável r vai receber S ou N, upper() vai deixar o que o usuário digitar maiúsculo, o comando input é para pegar a entrada de dados, ‘033[35;32m‘ é para colocar a cor verde no terminal e ‘\033[m‘ para retirar.
if r in ‘SN’: O comando vai testar se variável recebeu apenas ‘S’ ou ‘N’, caso o usuário qualquer outra coisa ele irá aparecer a mensagem de ERRO e voltará loop até ele digitar ‘S’ que irá sair para o próximo comando.
Espero ter ajudado a entender o código qualquer dúvida deixe no comentário!!!!
1 comentário
Gabriel · 05/13/2023 às 16:30
Como que faz pra começar o jogo?