-
-
Notifications
You must be signed in to change notification settings - Fork 113
Description
Seu pedido de recurso está relacionado a um problema? Por favor, descreva.
Dada uma String correspondente a uma placa de carro válida no formato antigo (LLLNNNN), retornar uma String representando esta mesma placa no Formato Mercosul / PIV (LLLNLNN).
Definição do Formato Antigo (LLLNNNN), segundo a RESOLUÇÃO 231 DE 15 DE MARÇO DE 2007:
Composto por 7 (sete) caracteres alfanuméricos individualizados sendo o primeiro grupo composto por 3
(três), resultante do arranjo, com repetição de 26 (vinte e seis) letras, tomadas três a três, e o
segundo grupo composto por 4 (quatro), resultante do arranjo, com repetição, de 10 (dez)
algarismos, tomados quatro a quatro.
Definição do Formato Mercosul / PIV (LLLNLNN), segundo RESOLUÇÃO Nº 780, DE 26 DE JUNHO DE 2019:
Composto de 7 (sete) caracteres alfanuméricos na sequência LLLNLNN, com combinação aleatória, distribuída e controlada pelo DENATRAN.
O caracter "L" refere-se à letra, e o caracter "N" refere-se ao numeral.
Regras de conversão, segundo a RESOLUÇÃO Nº 780, DE 26 DE JUNHO DE 2019, Anexo II:
Tabela de Conversão dos caracteres alfanuméricos da PIV
- No caso de substituição da PIV de que trata a Resolução CONTRAN nº 231, de 15 de março de 2007 (padrão LLLNNNN), pela PIV de que trata esta Resolução (padrão LLLNLNN), será adotada a seguinte tabela equiparativa, para substituição do antepenúltimo caracter, de número para letra, a fim de que haja uma relação direta entre a antiga e a nova placa:
| Placa antiga | Nova placa |
|---|---|
| 0 | A |
| 1 | B |
| 2 | C |
| 3 | D |
| 4 | E |
| 5 | F |
| 6 | G |
| 7 | H |
| 8 | I |
| 9 | J |
Ex.: A placa anterior ABC1234 será substituída pela nova placa com o padrão alfanumérico ABC1C34."
- A faixa de letras de "A" a "J" será utilizada apenas para a conversão do modelo antigo para o novo de PIV, de forma a permitir a convivência entre ambos os modelos e possibilitar a consulta por ambos os critérios de placas.
Descreva a solução que você gostaria
- Chamar um novo utilitário passando uma String correspondente a uma placa de carro válida no formato antigo (LLLNNNN), retornar uma String representando esta mesma placa no Formato Mercosul / PIV (LLLNLNN).
- A String já deve estar sem formatação, sem símbolos.
- Caso a placa passada como parâmetro não seja válida no formato antigo, retornar None
- Não diferenciar entre maiúsculas e minúsculas
- Retornar sempre maiúsculas
Descreva alternativas que você considerou
Criar um novo utilitário convert_license_plate_to_mercosul:
def convert_license_plate_to_mercosul(license_plate):
...Exemplo de uso:
from brutils import convert_license_plate_to_mercosul
>>> convert_license_plate_to_mercosul("ABC123")
"ABC1C34"
>>> convert_license_plate_to_mercosul("abc123")
"ABC1C34"
>>> convert_license_plate_to_mercosul("ABC1D23")
None
>>> is_valid_license_plate_mercosul("abdcd123")
NoneContexto adicional