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!