1
resposta

Outra maneira de importar jogos

Olá, resolvi tentar de outra forma executar os jogos, em seguida do if, importei a pasta e rodou normalmente. Algum problema em fazer dessa maneira ou tem que ser da mesma forma que foi explicada pelo prof?

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

Obrigada! =)

1 resposta

Olá Karine, tudo bem com você?

Quando estamos importando módulos no Python existe uma recomendação pela PEP 8 (Guia de Estilo de Código - Python Enhancement Proposals) de que os import devem ficar no topo do nosso arquivo. Exemplo:

import forca
import adivinhacao

Essa PEP foi criada para que exista uma padronização dos códigos em Python, com o objetivo de facilitar a leitura e entendimento por parte de outros programadores.

Sabendo dessa informação, vamos ao exemplo proposto pelo professor. Quando ele colocou import forca e import adivinhacao no topo do arquivo conforme o recomendado pela PEP 8, os jogos iniciaram antes mesmo do jogador escolher um jogo. Esse erro acontece por ele não ter implementado o uso de funções, assim, sempre que o módulo é importado o Python irá ler todo o código daquele arquivo, o que faz com que o que não está dentro de uma função seja executado.

No seu exemplo, está acontecendo algo semelhante, mas ao fazer o import ao longo do código e não no topo impede de certa forma que o jogo inicie, assim o jogo irá iniciar apenas quando o usuário informar 1 ou 2.

Da forma que foi colocado em seu código não é uma boa prática de programação, o ideal é que você importe o módulo e depois o execute com o uso de uma função. Conforme no exemplo abaixo:

import forca
import adivinhacao

jogo = int(input('Informe 1 para jogar forca ou 2 para jogar adivinhação: '))

if(jogo == 1):
    print("Jogando forca")
    forca.jogar()
elif(jogo == 2):
    print("Jogando adivinhação")
    adivinhacao.jogar()

Você pode acompanhar a seguinte aula, onde o professor irá mostrar como é feito essa implementação da função:

Caso queira saber um pouco mais sobre a PEP 8, a Alura possui um curso dedicado a esse tema:

Caso tenha dúvidas encontro-me à disposição.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!