Executando o código conforme aula, tem dois erros, um dos erros já foi sanado nas dúvidas anteriores, porém tem um problema no código do pais.
se executarmos o código conforme abaixo: main.py
from TelefonesBr import TelefonesBr
telefone = "11981250525"
telefone_objeto = TelefonesBr(telefone)
print(telefone_objeto)
TelefonesBr.py
import re
class TelefonesBr:
def __init__(self, telefone):
if self.valida_telefone(telefone):
self.numero = telefone
else:
raise ValueError("Numero incorreto!")
def __str__(self):
return self.format_numero()
def valida_telefone(self, telefone):
padrao = "([0-9]{2,3})?([0-9]{2})([9]{1})?([0-9]{4,5})([0-9]{4})"
resposta = re.findall(padrao, telefone)
if resposta:
return True
else:
return False
def format_numero(self):
padrao = "([0-9]{2,3})?([0-9]{2})([9]{1})?([0-9]{4,5})([0-9]{4})"
resposta = re.search(padrao, self.numero)
numero_formatado = f'+{resposta.group(1)}({resposta.group(2)})' \
f'{resposta.group(3) if resposta.group(3) != None else ""}' \
f'{resposta.group(4)}-{resposta.group(5)}'
return numero_formatado
Resposta: +None(11)98125-0525
como podemos solucionar o problema do None para o código do pais tirando também o "+"??