-
-
Notifications
You must be signed in to change notification settings - Fork 113
Closed
Labels
Description
Seu pedido de recurso está relacionado a um problema? Por favor, descreva.
Dada uma String correspondente a uma placa de carro válida, seja no formato da placa é o antigo (LLLNNNN) ou o novo Formato Mercosul / PIV (LLLNLNN), retornar uma String correspondendo a esta placa formatada com o traço para o formato antigo e sem mudança para o formato Mercosul.
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.
Descreva a solução que você gostaria
- Chamar um novo utilitário passando uma String correspondente a uma placa de carro válida e retornar uma String correspondendo a esta placa formatada com o traço para o formato antigo e sem mudança para o formato Mercosul
- A String deve estar sem formatação, sem símbolos.
- Caso a placa passada como parâmetro não seja válida nem no formato antigo nem no formato Mercosul / PIV, retornar None
- Não diferenciar entre maiúsculas e minúsculas
- Sempre retornar maiúsculas
Descreva alternativas que você considerou
Criar um novo utilitário format_license_plate:
def format_license_plate(license_plate):
...Exemplo de uso:
from brutils import format_license_plate
>>> format_license_plate("ABC123")
"ABC-123"
>>> format_license_plate("abc123")
"ABC-123"
>>> format_license_plate("ABC1D23")
"ABC1D23"
>>> format_license_plate("abc1d23")
"ABC1D23"
>>> format_license_plate("ABCD123")
NoneContexto adicional
Reactions are currently unavailable