9
respostas

Meu código não funciona

Já fiz de tudo, quando eu coloco no Run, não aparece nada, apenas "Process finished with exit code 0" Eu já colei o codigo do Nico completo, das 3 paginas e mesmo assim não foi.

Obrigado, tenha um bom dia

9 respostas

O run está executando o arquivo correto? O arquivo "principal" aonde contém os imports e/ou se já estiver no próximo nível, o run está executando o arquivo que contém:

if __name__ == "__main__":
    obj.funcao()

?

Bom dia! O run está execuntando primeiro o "jogos.py" o certo de vir primeiro. O run diz que o erro está na linha 2 no "import adivinhacao" então, o código está assim: import forca import adivinhacao

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") adivinhacao.jogar()

Boa tarde! Cola o código do adivinhacao.py aqui, tenta identar com o editor no formato de código.

Acho que pra entender sua dúvida, precisaria do código completo kkkk, se conseguiu solucionar, me fala o quê fez :)

esse é o código do adivinhacao:import random

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

numero_secreto = random.randrange(1, 100)
total_de_tentativas = 0
pontos = 1000

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

nivel = int(input("Defina o nível: "))

if (nivel == 1):
    total_de_tentativas = 20
elif (nivel == 2):
    total_de_tentativas = 10
else:
    total_de_tentativas = 5

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

    if (chute < 1 or chute > 100):
        print("Você deve digitar um número entre 1 e 100!")
        continue

    acertou = numero_secreto == chute
    maior = chute > numero_secreto
    menor = chute < numero_secreto

    if (acertou):
        print("Você acertou e fez {} pontos!".format(pontos))
        break
    else:
        if (maior):
            print("Você errou! O seu chute foi maior que o número secreto.")
        elif (menor):
            print("Você errou! O seu chute foi menor que o número secreto.")
        pontos_perdidos = abs(numero_secreto - chute)
        pontos = pontos - pontos_perdidos
    if (__name__ == "__main__"):
        jogar()

print("Fim do jogo")

Só vou conseguir testar amanhã, mas o erro que eu vi:

Essa parte do código (if name == 'main') tem que ficar no escopo global da aplicação, ou seja, "sem identação".

numero_secreto = random.randrange(1, 100)
total_de_tentativas = 0
pontos = 1000

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

nivel = int(input("Defina o nível: "))

if (nivel == 1):
    total_de_tentativas = 20
elif (nivel == 2):
    total_de_tentativas = 10
else:
    total_de_tentativas = 5

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

    if (chute < 1 or chute > 100):
        print("Você deve digitar um número entre 1 e 100!")
        continue

    acertou = numero_secreto == chute
    maior = chute > numero_secreto
    menor = chute < numero_secreto

    if (acertou):
        print("Você acertou e fez {} pontos!".format(pontos))
        break
    else:
        if (maior):
            print("Você errou! O seu chute foi maior que o número secreto.")
        elif (menor):
            print("Você errou! O seu chute foi menor que o número secreto.")
        pontos_perdidos = abs(numero_secreto - chute)
        pontos = pontos - pontos_perdidos

# Sem identação, no escopo global
if (__name__ == '__main__'):
    jogar()

print("Fim do jogo")

aaaa tranquilo, obrigado, vou verificar. tenha uma boa noite!Bom descanso!

Boa tarde Ruan, deu certo aí?

Se sim, marque o post como concluído :)

Boa noite! ainda não deu certo

Ruan, refiz o código com o quê você mandou. Deu erro pois não estava identado corretamente.

Segue abaixo:

main.py:

import adivinhacao
import forca

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") 
    adivinhacao.jogar()

adivinhacao.py:

import random

def jogar():
    numero_secreto = random.randrange(1, 100)
    total_de_tentativas = 0
    pontos = 1000

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

    nivel = int(input("Defina o nível: "))

    if (nivel == 1):
        total_de_tentativas = 20
    elif (nivel == 2):
        total_de_tentativas = 10
    else:
        total_de_tentativas = 5

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

        if (chute < 1 or chute > 100):
            print("Você deve digitar um número entre 1 e 100!")
            continue

        acertou = numero_secreto == chute
        maior = chute > numero_secreto
        menor = chute < numero_secreto

        if (acertou):
            print("Você acertou e fez {} pontos!".format(pontos))
            break
        else:
            if (maior):
                print("Você errou! O seu chute foi maior que o número secreto.")
            elif (menor):
                print("Você errou! O seu chute foi menor que o número secreto.")
            pontos_perdidos = abs(numero_secreto - chute)
            pontos = pontos - pontos_perdidos

            print("Fim do jogo")

if (__name__ == "__main__"):
    jogar()