Python Kick Game. Does anyone have any hints how to reduce or improve this code without using functions?

Asked

Viewed 131 times

0

from random import randint
from time import sleep

valor = randint(1, 20)
tentativa = 0
chute = 0
print()
while chute != valor:
    chute = int(input('\nChute um número: '))
    tentativa += 1
    
    while chute < 1 or chute > 20:
        chute = int(input('Chute um valor entre 1 e 20.'))
        break

    if chute < valor:
        print('Você jogou baixo demais!')
        resp = input('Deseja continuar: S/N ').upper()
        while resp not in 'SN':
            resp = input('Digite S ou N ').upper()
        if resp == 'N':
            break

    elif chute > valor:
        print('Você jogou alto mais!')
        resp = input('Deseja continuar: S/N ').upper()
        while resp not in 'SN':
            resp = input('Digite S ou N ').upper()
        if resp == 'N':
            break

    else:
        print(f'\nAcertou!')
print('\nFinalizando...')
sleep(1)
print(f'\nAo todos foram feitas {tentativa} tentativas.')

1 answer

1

I managed to make that solution:

from random import randint

computador = randint(0, 10)    
tent = 0

jogador = int(input('Tente adivinhar o número que o computador escolheu (entre 0 a 10): '))
tent += 1
while computador != jogador:
    if computador > jogador:
        jogador = int(input('Mais... Tente novamente: '))
        tent += 1
    else:
        jogador = int(input('Menos... Tente novamente: '))
        tent += 1
print(f'Parabéns! Você acertou! Precisou de {tent} tentativas.')
  • 1

    The tent = 0 and the tent += 1 before the while are unnecessary just start tent = 1.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.