Olá, Jair!
Sim, no Python é totalmente possível e comum utilizar uma condicional dentro de outra condicional. Isso é chamado de "aninhamento de condicionais". No seu exemplo, você está no caminho certo, mas há alguns detalhes que precisam ser ajustados para que o código funcione corretamente. Vou reescrever o seu código com algumas correções:
- Indentação: No Python, a indentação é crucial. Ela define os blocos de código que pertencem a cada condicional.
- Sintaxe: A sintaxe do
if precisa estar correta, incluindo os dois pontos (:) no final da linha do if.
Aqui está o seu código corrigido:
if nome_restaurante == item['nome']:
if item['ativo'] == True:
item['ativo'] = False
print(f'O Restaurante {nome_restaurante} não está mais ativo')
else:
item['ativo'] = True
else:
print('Este restaurante não está no sistema')
Vamos entender o que está acontecendo aqui:
- Primeira Condicional: Verifica se
nome_restaurante é igual a item['nome']. - Segunda Condicional: Se a primeira condicional for verdadeira, verifica se
item['ativo'] é True.- Se for
True, define item['ativo'] como False e imprime uma mensagem. - Se for
False, define item['ativo'] como True.
- Else da Primeira Condicional: Se
nome_restaurante não for igual a item['nome'], imprime uma mensagem dizendo que o restaurante não está no sistema.
Aqui está um exemplo prático de como isso pode funcionar:
nome_restaurante = "Sabor Express"
item = {'nome': 'Sabor Express', 'ativo': True}
if nome_restaurante == item['nome']:
if item['ativo'] == True:
item['ativo'] = False
print(f'O Restaurante {nome_restaurante} não está mais ativo')
else:
item['ativo'] = True
else:
print('Este restaurante não está no sistema')
Se nome_restaurante for "Sabor Express" e item['nome'] também for "Sabor Express", o código verificará o valor de item['ativo'] e o atualizará conforme necessário.
Espero ter ajudado e bons estudos!