Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não sei como posso utilizar o else nesse código.

Bom dia pessoal, estou fazendo um projeto bem básico com Orientação a Objetos e tabelas, porém, quando faço um else nesse código abaixo, ele não corresponde do jeito que eu quero. Ao fazer a verificação da tabela, se um dado não bate com o esperado, o código já informa como errado, não termimando assim de verificar todas as informações da tabela. Alguém pode me ajudar?

# Derrotar Inimigos

def batalhar():
    os.system('cls')
    Inimigo.listar_inimigos()
    escolha = str(input('Digite o nome do inimigo que deseja enfrentar: '))
    for i in Inimigo.inimigos:
        if escolha == i.nome: 
            os.system('cls')
            print('INIMIGO SELECIONADO \n')
            for k in personagem: 
                print(f'. {k}')
            arma = str(input('Digite a arma que deseja utilizar: '))
            for j in personagem: 
                if arma == j:
                    if arma == i.fraqueza:
                        print('VOCÊ GANHOU A BATALHA!')
                        inimigos_derrotados.append(i.nome)
                        input('Digite algo para voltar ao menu ')
                        menu()

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Consegui entender pelo Chat GPT, tentei excluir o tópico mas não consegui kkkkk, quem tiver interesse sobre como seria o código da forma certa vou colocar abaixo:

def batalhar():
    os.system('cls')  # Limpar a tela
    Inimigo.listar_inimigos()  # Listar inimigos disponíveis
    escolha = str(input('Digite o nome do inimigo que deseja enfrentar: '))  # Escolher inimigo

    # Verificar se o inimigo escolhido existe
    inimigo_escolhido = None
    for i in Inimigo.inimigos:
        if escolha == i.nome: 
            inimigo_escolhido = i
            break

    if inimigo_escolhido is None:
        print("Inimigo não encontrado. Tente novamente.")
        return  # Encerra a função se o inimigo não for encontrado

    os.system('cls')  # Limpar a tela novamente
    print(f'INIMIGO {inimigo_escolhido.nome} SELECIONADO \n')
    
    # Mostrar armas disponíveis
    for k in personagem:
        print(f'. {k}')
    
    arma = str(input('Digite a arma que deseja utilizar: '))  # Escolher arma

    # Verificar se a arma escolhida é válida
    if arma not in personagem:
        print("Arma inválida. Tente novamente.")
        return  # Encerra a função se a arma não for válida
    
    # Verificar se a arma é a fraqueza do inimigo
    if arma == inimigo_escolhido.fraqueza:
        print('VOCÊ GANHOU A BATALHA!')
        inimigos_derrotados.append(inimigo_escolhido.nome)
    else:
        print('VOCÊ PERDEU A BATALHA!')

    input('Pressione Enter para voltar ao menu...')  # Espera o jogador pressionar Enter
    menu()  # Chama a função menu (não definida no código original)