You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Seu pedido de recurso está relacionado a um problema? Por favor, descreva.
Precisamos de uma função que valide o Registro Geral (RG) brasileiro, considerando que cada estado pode ter um formato de RG diferente. Além disso, alguns estados podem ter regras específicas, como a presença de letras ou dígitos no formato. Queremos validar um RG para garantir sua autenticidade em diferentes contextos.
Descreva a solução que você gostaria
Uma função is_valid_rg, que recebe como entrada o RG (string) e a Unidade Federativa (UF) e retorna um valor booleano indicando se o RG é válido.
Caso o RG seja inválido, a função deve retornar False.
A função deve lidar com todos os formatos de RG dos diferentes estados brasileiros.
Considerar possíveis edge cases, como RGs com dígitos repetidos, tamanhos fora do padrão e símbolos inválidos.
Como parte do passo 8, criar o arquivo: brutils-python/brutils/rg.py.
defis_valid_rg(rg, uf): # type: (str, str) -> bool""" Validates a Brazilian RG (Registro Geral) based on the state (UF). This function checks whether a given RG is valid for a specific state in Brazil. Each state may have its own RG format, and the function should handle these differences. Args: rg (str): The RG to be validated. uf (str): The state (UF) for which the RG should be validated. Returns: bool: Returns True if the RG is valid, or False if it is invalid. Example: >>> is_valid_rg('12.345.678-9', 'SP') True >>> is_valid_rg('MG-12.345.678', 'MG') True >>> is_valid_rg('123456789', 'RJ') False >>> is_valid_rg('A12345678', 'SP') False >>> is_valid_rg('12.345.678', 'SP') False """# implementar a lógica da função aqui
Importar a nova função no arquivo brutils-python/brutils/__init__.py:
# RG Importsfrombrutils.rgimport (
is_valid_rg,
)
E adicionar o nome da nova função na lista __all__ do mesmo arquivo brutils-python/brutils/__init__.py:
__all__= [
...
# RG'is_valid_rg',
]
Como parte do passo 9, criar o arquivo de teste: brutils-python/tests/test_rg.py.
fromunittestimportTestCasefrombrutils.rgimportis_valid_rgclassTestRG(TestCase):
deftest_is_valid_rg(self):
# Testes para RGs válidosself.assertTrue(is_valid_rg('12.345.678-9', 'SP'))
self.assertTrue(is_valid_rg('MG-12.345.678', 'MG'))
self.assertTrue(is_valid_rg('123456789', 'RJ'))
# Testes para RGs inválidosself.assertFalse(is_valid_rg('A12345678', 'SP')) # Letras não permitidasself.assertFalse(is_valid_rg('1234567890', 'SP')) # RG longo demaisself.assertFalse(is_valid_rg('12.345.678-10', 'SP')) # Dígito verificador incorreto# Testes para entradas malformadasself.assertFalse(is_valid_rg('', 'SP')) # Entrada vaziaself.assertFalse(is_valid_rg('12.345.678', 'SP')) # Formato incorreto sem dígito verificadorself.assertFalse(is_valid_rg('12.345.678-9', 'XX')) # UF inválida
Seu pedido de recurso está relacionado a um problema? Por favor, descreva.
Precisamos de uma função que valide o Registro Geral (RG) brasileiro, considerando que cada estado pode ter um formato de RG diferente. Além disso, alguns estados podem ter regras específicas, como a presença de letras ou dígitos no formato. Queremos validar um RG para garantir sua autenticidade em diferentes contextos.
Descreva a solução que você gostaria
is_valid_rg
, que recebe como entrada o RG (string) e a Unidade Federativa (UF) e retorna um valor booleano indicando se o RG é válido.False
.Descreva alternativas que você considerou
Seguir até o passo 8 do guia de contribuição.
Como parte do passo 8, criar o arquivo:
brutils-python/brutils/rg.py
.Importar a nova função no arquivo
brutils-python/brutils/__init__.py
:E adicionar o nome da nova função na lista
__all__
do mesmo arquivobrutils-python/brutils/__init__.py
:Como parte do passo 9, criar o arquivo de teste:
brutils-python/tests/test_rg.py
.Seguir os passos seguintes do guia de contribuição.
Contexto adicional
Links de Referência
The text was updated successfully, but these errors were encountered: