Error in assigning Try and Exception

Asked

Viewed 65 times

-1

We are having difficulty executing an activity of POO.

To run the code block where the method we use displays an unexpected output (Semantic error).

 def acionamento(self, estado, nome_gerador): # acionar geradores
    try:
        self._nome == nome_gerador
        if estado == 'sim':
            print(nome_gerador, 'foi ligado!')
        if nome_gerador == 'G1':
            print('já esta ligado')
            raise Exception
    except Exception:
            print('o gerador não é gerenciado manualmente')
    if estado == 'nao':
        print(nome_gerador, 'solicitação cancelada!')
    else:
        pass
        #print('opção invalida!')

The answer for G1 is correct, as for the others (G2,G3,G4) the expected output is: G2 was turned on/or the request was canceled.

 deseja ligar o gerador?

1.sim 
2.não

Digite: sim

nome do gerador: g1
o gerador não é gerenciado manualmente

But for the others (G2,G3,G4) it is necessary to appear, example "G2 was turned on!"

    deseja ligar o gerador?

1.sim 
2.não

Digite: sim

nome do gerador: g2
o gerador não é gerenciado manualmente

How you would help us solve this problem attached?

Segue em anexo parte do exercício que explica o que deve ser feito.

1 answer

0

See if this is it:

def acionamento(self, estado, nome_gerador): # acionar geradores
    self._nome = nome_gerador
    if nome_gerador is 'G1':
        print('já esta ligado')
        print('o gerador não é gerenciado manualmente')
    elif estado is 'sim':
        print(nome_gerador, 'foi ligado!')
    elif estado is 'nao':
        print(nome_gerador, 'solicitação cancelada!')

OR

def acionamento(self, estado, nome_gerador): # acionar geradores
    self._nome = nome_gerador
    try:
        if nome_gerador is 'G1':
            print('já esta ligado')
            raise Exception
        elif estado is 'sim':
            print(nome_gerador, 'foi ligado!')
        elif estado is 'nao':
            print(nome_gerador, 'solicitação cancelada!')
    except Exception:
        print('o gerador não é gerenciado manualmente')

Browser other questions tagged

You are not signed in. Login or sign up in order to post.