3
respostas

utilizando letras no jogo de adivinhação

Fui refazer o jogo e resolvi testar uma coisa. Ao invez de utilizar numeros, colocar letras para adivinhar.

O que fiquei em dúvida foio justamente porque o código funcionou! Utilizei a palavra secreta como uma letra, e ele manteve a leitura de interpretar a posição das letras anteriores ou posteriores a que foi colocada. O Python tem este tipo de identificação, mesmo sem que eu inclua todas as letras de um alfabeto? É possível chamar o random também para letras? (fica ai uma duvida extra, nao consegui inserir o código aqui no forum hehehehe)

3 respostas

Bom dia Andréia, tudo bem?

Fiquei curioso com o seu teste e decidi dar uma olhada. Fui no console e decidi criar 2 variáveis:

>>> letra = "g"
>>> chute = "d"

Depois fiz uma pequena comparação para ver se python reconhece a ordem do alfabeto e indica se d é menor que g, o resultado foi o seguinte:

>>> print(letra > chute)
True
>>>print(letra < chute)
False

Então ela definitivamente reconhece a ordem do alfabeto.

Com relação a uma função random para o alfabeto, não encontrei nada na documentação, mas acredito que com um pouco de criatividade talvez consigamos criar um função que faça esse trabalho para nós.

Depois do seu comentário, quando vi que não estava alucinando com este fato resolvi procurar um pouco mais e achei algo bem interessante! Além de importar random, é possível importar o comando string também que nos dá esta possibilidade! Ele consegue gerar tanto letras, quanto numeros ou até mesmo caracteres especiais! Aqui utilizei o modelo com apenas uma letra, mas pode ser uma forma interessante para gerar senhas randomicas a usuários.

Abaixo como ficou o código do jogo de adivinhação do alfabeto! (que aprendi a importar hehehe)

import string
import random
print("Seja bem vindo ao jogo de adivinhação!")
letra_adivinhacao = random.choice(string.ascii_letters)
total_de_tentativas = 10



for rodada in range(1, total_de_tentativas):
    print("Tentativa {} de {}".format(rodada, total_de_tentativas))
    letra_digitado = input("Digite uma letra de a até z: ")
    print("Você digitou", letra_digitado)
    chute = letra_digitado

    if(chute == letra_adivinhacao):
        print("Você acertou!")
        break
    elif(chute < letra_adivinhacao):
        print("A letra é depois desta.")
    elif(chute > letra_adivinhacao):
        print("A letra é antes desta.")

print("Fim do jogo.")

Poxa Andréia, que massa!!! Com certeza vou testar aqui. Parabéns.