1
resposta

Minha resolução com for

Fiz um código com o FOR utilizando algumas cores para deixar o código mais bonito e agradável

print("****************************************")
print("Olá, Bem-vindos ao jogo da Adivinhação!!")
print("****************************************")

# IMPORTANDO O RANDINT DO MODULO RANDOM
from random import randint

# CRIANDO O GERADOR DE 1 A 5
numsecret = randint(1,5)
# NUMERO DE TENTATIVAS NA VARIAVEL
tentativas = 3

#  CRIANDO O LOOP
for rodadas in range(1, tentativas + 1):    # ADICIONADO + 1 PARA CONSEGUIR FAZER A TENTATIVA [3 DE 3]
    print(f'Tentativa \033[1;33m{rodadas}\033[m de \033[1;33m{tentativas}\033[m')
    chute = int(input('\033[1;35mDigite um número [1 a 5]:\033[m '))
    print(f'você digitou o número \033[1;31m{chute}\033[m')


    # Checando se o valor inserido é igual ao valor gerado
    if chute == numsecret:
        print(f'Você acertou, O número gerado foi \033[1;34m{numsecret}\033[m')
        break


    # CHECAR SE O VALOR ESTÁ ENTRE 1 A 5
    elif chute > 5:
        print(f'\033[1;31mErro!\033[m \033[31mo valor é maior que cinco\033[m')
    elif chute < 1:
        print(f'\033[1;31mErro!\033[m \033[31mo valor é menor que um\033[m')


    # CASO ESTEJA DENTRO DO VALOR [ 1 A 5 ] ENTÃO:
    # Checando se o valor é maior ou menor que o gerado
    elif chute > numsecret:
        print(f'Você errou, o número gerado é maior que o \033[1;34mvalor inserido\033[m.')
    elif chute < numsecret:
        print(f'Você errou, o número gerado é menor que o \033[1;34mvalor inserido\033[m.')

# SE ACERTAR MOSTRAR:
print('\033[33mFIM!\033[m')
1 resposta

Oii Gabriel, como você está? Espero que esteja bem ^-^

Sensacional! Ficou bem elegante o código com as cores, além disso, a abordagem de utilizar o laço for enriqueceu o aprendizado.

Como sugestão, algo que poderia fazer para uma melhor organização do código evitando números mágicos, ou seja, valores numéricos ou textuais que não são auto descritivos, é fazer o uso de um dicionário para as cores, para que fique claro o código que cada cor representa e quais cores você está utilizando. Por exemplo:

cor = {
    'amarelo':   "\033[1;33m",
    'azul':     "\033[1;34m",
    'vermelho':      "\033[1;31m",
    'magenta':  "\033[1;35m",
    'limpar':        "\033[m"
}

E para aplicá-las, basta acessar a chave do dicionário:

cor["amarelo"] 

Veja como fica um trecho do seu código com essa correção:

print(f'Tentativa {cor["amarelo"]}{rodadas}{cor["limpar"]} de {cor["amarelo"]}{tentativas}{cor["limpar"]}')
chute = int(input(f'{cor["magenta"]}Digite um número [1 a 5]:{cor["limpar"]} '))
print(f'você digitou o número {cor["vermelho"]}{chute}{cor["limpar"]}')

Qualquer dúvida estou por aqui, tá bom?

Grande abraço!