#
# este codigo exemplifica uma consulta 
# que verifica se algum veículo posto à venda 
# corresponde ao interesse de um comprador 
# 
# o interesse do comprador é composto por: 
#
# - modelo pretendido, 
# - valor monetário (máximo), e 
# - ano de fabricação (mínimo)
#
#
# cadastrar dados de veículos postos à venda 
#
dados = {
    'Crossfox': {'valor': 72000, 'ano': 2005},
    'DS5': {'valor': 125000, 'ano': 2015},
    'Fusca': {'valor': 150000, 'ano': 1976},
    'Jetta': {'valor': 88000, 'ano': 2010},
    'Passat': {'valor': 106000, 'ano': 1998} ,
    True : { 'x' : 1.1 , 'y' : 22.22 }
}
#
# ecoar dados de veículos postos à venda
#
print ( 'Veículos à venda na concessionária:')
print ( )
print ( dados )
print ( )
#
# consulta de veiculo para compra 
# 
#
# cadastrar interesse de comprador de veiculo 
#
modelo_pretendido = 'Passat'
valor_maximo = 199000
ano_minimo = 1960
#
# ecoar interesse do comprador 
#
print ( 'interesse de comprador de veiculo:' )
print ( )
print ( '      modelo: ' , modelo_pretendido )
print ( 'valor maximo: ' , valor_maximo )
print ( '  ano minimo: ' , ano_minimo )
print ( )
#
# verificar disponibilidade de modelo pretendido 
# e
# concluir consulta se modelo for indisponível 
#
print ( )
print ( 'verificar disponibilidade de modelo na loja')
print ( )
if modelo_pretendido not in dados:
   print ( 'modelo pretendido indisponível' )
#
# continuar consulta se modelo estiver disponível 
# 
# 
# exemplo de uso da instrução "in" 
# para evitar erro por inextência de chave de dicionário 
# 
if modelo_pretendido in dados : 
   print ( f'modelo pretendido: {modelo_pretendido} ' )
   print ( f'  estoque na loja: disponível' )
   print ( )
#
#  extrair valor e ano de fabricação do veículo 
#
   dados_do_modelo = dados [ modelo_pretendido ]
   print ( f'  dados do modelo disponível: {dados_do_modelo} ' )
   print ( )
#
#  ecoar chaves, apenas para exemplificar instrução "keys"
# 
   chaves = dados_do_modelo .keys ()
# 
# exemplo de uso da instrução "in" 
# para evitar erro por inextência de chave de dicionário 
# 
   if 'valor' in chaves :
#
# extrair valor do veículo 
#
     valor_do_modelo = dados_do_modelo [ 'valor' ]
     print ( f'valor_do_modelo: { valor_do_modelo} ' )
     print ( )
#
# verificar se valor do veículo é aceito pelo comprador 
#
     if valor_do_modelo <= valor_maximo : 
# 
# exemplo de uso da instrução "in" 
# para evitar erro por inextência de chave de dicionário 
# 
        if 'ano' in chaves :
           ano_do_modelo = dados_do_modelo [ 'ano' ]
           print ( f'ano do modelo : { ano_do_modelo } ' )
           print ( )
#
# verificar se ano de fabricação do veículo é aceito pelo comprador 
#
           if ano_do_modelo >= ano_minimo :
#
# escrever conclusão da consulta 
#    
              print ( 'Conclusão: ')          
              print ( )
              print ( f'..... comprar {modelo_pretendido} com as seguintes condições:' )
              print ( )
              print ( f'..... ano: {ano_do_modelo} valor: {valor_do_modelo} ')
              print ( )
           else: 
              print ( 'ano do modelo indisponível' )
              print ( )
        else:
         print ( f'valor do modelo indisponível ')
         print ( )