Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Programação

Fiz de uma forma diferente. Quais as implicações desta forma em comparação com sua aula?

print("*********************************")
print("*******Escolha o seu jogo!*******")
print("*********************************")

print("(1) Forca (2) Adivinhação")

jogo = int(input("Qual jogo? "))

if (jogo == 1):
    print("Jogando forca")
    import forca
elif (jogo == 2):
    print("Jogando adivinhação")
    import Adivinhacao
5 respostas

Olá Otavio!

Algumas observações a fazer:

1 - Não é uma boa prática importar os módulos dessa forma, recomendo importar no começo do código e depois você chama seu módulo como desejar

2 - O Python exige que o código seja bem indentado, seu código tem muita coisa na mesma linha e poderá resultar em erro.

No geral a lógica parece estar correta, parabéns! ^^

Oi Otavio, tudo bem? Apenas dando um complemento para a resposta do Guilherme: você pode utilizar a opção "Inserir código" para exibir um código para nós.

Editei aqui sua publicação utilizando essa ferramenta para você ver a diferença :)

Bom dia, pessoal.

  1. Quanto a inserção do código na funcionalidade, acho que estava com um problema com o navegador pois não estava conseguindo fazê-lo...
  2. Quando construí o código colocando o import dentro do IF foi porque ainda não sabia como construir com as orientações passadas posteriormente pelo Nico.
  3. Quanto a rotina de limpar a tela, realmente somente está funcionando quando utilizamos a console. O que pode indicar que pode ser alguma configuração do Pycharm, visto que encontrei uma orientação para configurar a variável TERM e após esta configuração consegui limpar a tela executando pelo pycharm. Só que ao digitar os valores no INPUT o valor não é ecoado na tela... O código abaixo funciona muito bem quando executo pelo terminal.
import adivinhacao
import clear
import forca
import time

def escolhe_jogo():
    while True:
        clear.clear()

        print("*********************************")
        print("*******Escolha o seu jogo!*******")
        print("*********************************")

        print("(1) Forca (2) Adivinhação (3) Encerrar")

        jogo = input("Escolha o jogo? ")

        if (jogo == ""):
            print("Valor fora do intervalo permitido!")
            time.sleep(3)
            escolhe_jogo()
        else:
            jogo = int(jogo)
            if (jogo < 1 or jogo > 2):
                if(jogo == 3 or jogo == 0):
                    clear.clear()
                    print("Jogo encerrado.")
                    exit(99)
                else:
                    print("Valor fora do intervalo permitido.")
                    time.sleep(3)
            elif(jogo == 1):
                clear.clear()
                print("Jogando forca!")
                forca.jogar()
            else:
                clear.clear()
                print("Jogando adivinhação!")
                adivinhacao.jogar()

if(__name__ == "__main__"):
    escolhe_jogo()
solução!

Bom dia Otavio!

Sobre seus tópicos:

1 - Tudo bem, é questão de prática, tinha pensado que seu código estava na mesma linha por conta da formatação mesmo.

2 - Bacana! Você não tinha visto as instruções e tentou fazer antes, logo viu que era de outra forma. Muito legal! Isso é muito importante pro seu aprendizado pois é errando que a gente aprende. Copiar código por copiar não é legal e fazendo da forma que você fez te faz ter uma visão mais critica daqui pra frente (o que aos poucos te torna um desenvolvedor cada vez melhor).

3 - Essa pergunta era de outro tópico certo? Eu e a Marina fomos atrás de uma solução pra ti. Realmente deve ser alguma configuração do PyCharm, o ideal é você rodar esse código no terminal mesmo.

Só uma observação: O comando INPUT não escreve na tela, use o PRINT se precisar fazer isso.

Caso sua dúvida tenha sido sanada peço para que feche o tópico marcando a solução, por favor.

Isso ajuda os alunos com a mesma dúvida a encontrarem uma resposta mais facilmente.

Obrigado e até mais!

Bons estudos! ^^

Fala Otavio,

Como sua dúvida foi solucionada, estou fechando o tópico.

Caso tenha uma nova dúvida, basta criar um novo!

Abraços.