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")
None
Contexto adicional
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:
Definição do Formato Mercosul / PIV (LLLNLNN), segundo RESOLUÇÃO Nº 780, DE 26 DE JUNHO DE 2019:
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
Ex.: A placa anterior ABC1234 será substituída pela nova placa com o padrão alfanumérico ABC1C34."
Descreva a solução que você gostaria
Descreva alternativas que você considerou
Criar um novo utilitário
convert_license_plate_to_mercosul:Exemplo de uso:
Contexto adicional