Aprenda o que quiser. Milhares de cursos incríveis para escolher.

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!!!!

americanas.com.br

1 comentário

Gabriel · 05/13/2023 às 16:30

Como que faz pra começar o jogo?

Deixe um comentário

Espaço reservado para avatar

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *