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)

Exercícios relacionados