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

[Dúvida] Código executa apenas "advinhacao.py"

Não consigo identificar nenhum erro, mas o código executa apenas o arquivo "advinhacao.py". Ao jogar a fim de terminar a execução, esta apenas termina, sem aparentemente ler qualquer outro código.

advinhacao.py

Objetivo: desenvolver um jogo de advinhação, dando várias tentativas para acertar um número.

import random

def jogar(): print("") print("Bem-vindo ao jogo de advinhação!") print("")

num_secreto = random.randrange(1,101)

pontos = 1000

tentativas = 0

print("Escolha o nível de dificuldade.")
print("(1) Fácil (2) Médio (3) Difícil")
dificuldade = int(input("Qual nível? "))

if dificuldade == 1:
    tentativas = 20
elif dificuldade == 2:
    tentativas = 10
elif dificuldade == 3:
    tentativas = 5

for tentativa in range(tentativas):
    print("Tentativa {} de {}".format(tentativa + 1, tentativas))
    chute_str = input("Digite um número de 1 a 100: ")
    print("Você digitou {}.".format(chute_str))
    chute = int(chute_str)

    if chute < 1 or chute > 100:
        print("Seu chute deve ser um número de 1 a 100!")
        continue

    acerto = num_secreto == chute
    maior = chute > num_secreto
    menor = chute < num_secreto

    if acerto:
        print("Você acertou! Sua pontuação foi {}!".format(pontos))
        break
    elif maior:
        print("Você errou! Seu chute foi maior que o número secreto.")
    elif menor:
        print("Você errou! Seu chute foi menor que o número secreto.")

    pontos_perdidos = abs(num_secreto - chute)
    pontos += - pontos_perdidos

    if tentativa + 1 == tentativas:
        print("O número secreto era {}. Você fez {} ponto(s).".format(num_secreto, pontos))

    tentativa += 1

print("Fim do jogo")

if name == "main": jogar()

forca.py

Objetivo: desenvolver um jogo de advinhação, dando várias tentativas para acertar um número.

def jogar(): print("") print("Bem-vindo ao jogo de forca!") print("")

print("Fim do jogo")

if name == "main": jogar()

jogos.py

Escolher jogo

import forca import advinhacao

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

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

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

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

2 respostas

Oi, Pedro

Os dois estão rodando


Escolha o seu jogo

(1) Forca (2) Adivinhação
Qual jogo?
# advinhacao.py

# Objetivo: desenvolver um jogo de adivinhação, dando várias tentativas para acertar um número.
import random

def jogar():
    print("")
    print("Bem-vindo ao jogo de adivinhação!")
    print("")

    num_secreto = random.randrange(1, 101)

    pontos = 1000

    tentativas = 0

    print("Escolha o nível de dificuldade.")
    print("(1) Fácil (2) Médio (3) Difícil")
    dificuldade = int(input("Qual nível? "))

    if dificuldade == 1:
        tentativas = 20
    elif dificuldade == 2:
        tentativas = 10
    elif dificuldade == 3:
        tentativas = 5

    for tentativa in range(tentativas):
        print("Tentativa {} de {}".format(tentativa + 1, tentativas))
        chute_str = input("Digite um número de 1 a 100: ")
        print("Você digitou {}.".format(chute_str))
        chute = int(chute_str)

        if chute < 1 or chute > 100:
            print("Seu chute deve ser um número de 1 a 100!")
            continue

        acerto = num_secreto == chute
        maior = chute > num_secreto
        menor = chute < num_secreto

        if acerto:
            print("Você acertou! Sua pontuação foi {}!".format(pontos))
            break
        elif maior:
            print("Você errou! Seu chute foi maior que o número secreto.")
        elif menor:
            print("Você errou! Seu chute foi menor que o número secreto.")

        pontos_perdidos = abs(num_secreto - chute)
        pontos += -pontos_perdidos

        if tentativa + 1 == tentativas:
            print("O número secreto era {}. Você fez {} ponto(s).".format(num_secreto, pontos))

    print("Fim do jogo")

if __name__ == "__main__":
    jogar()
# forca.py

# Objetivo: desenvolver um jogo de forca.
def jogar():
    print("")
    print("Bem-vindo ao jogo de forca!")
    print("")

    print("Fim do jogo")

if __name__ == "__main__":
    jogar()
# jogos.py

# Escolher jogo
import forca
import advinhacao

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

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

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

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

Oi Luis,

Acho que eu estava apenas escolhendo o arquivo errado para executar, por inexperiência com o PyCharm. Obrigado pela ajuda!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software