Um sistema de segurança permite a entrada em uma área restrita se:
- o cartão de acesso estiver válido,
- e o nível de acesso (nivel) for maior ou igual ao exigido (nivel_exigido),
- e o horário atual (hora) estiver entre hora_inicio e hora_fim,
- ou a entrada for emergencial.
Qual expressão em Python representa essa condição?
Passo 1
O enunciado pede uma expressão booleana em Python que libere a entrada se todas estas condições forem verdadeiras:
- o cartão de acesso estiver válido,
- o nível de acesso for maior ou igual ao exigido,
- e (o horário atual estiver no intervalo permitido ou for uma entrada emergencial).
Passo 2
Primeiro, juntamos as duas primeiras condições com and:
cartao_valido and nivel >= nivel_exigido
Passo 3
Em seguida, escrevemos a condição de horário usando comparação encadeada:
hora_inicio <= hora <= hora_fim
Passo 4
Como a entrada pode ocorrer em caráter emergencial mesmo fora do intervalo, unimos essa parte com or:
hora_inicio <= hora <= hora_fim or emergencial
Passo 5
Por fim, combinamos tudo com and, de modo que as duas primeiras condições e (horário ou emergência) precisem ser verdadeiras:
cartao_valido and nivel >= nivel_exigido and (hora_inicio <= hora <= hora_fim or emergencial)
Resposta
cartao_valido and nivel >= nivel_exigido and (hora_inicio <= hora <= hora_fim or emergencial)