Olá, Gabriel, como vai?
O uso do operador not no exemplo do instrutor serve para identificar o primeiro elemento que não seja um inteiro e interromper a função imediatamente com uma mensagem de erro. Se você remover o not e inverter as mensagens, a lógica muda porque a função passará a retornar uma confirmação de sucesso assim que encontrar o primeiro número inteiro, sem verificar se os elementos restantes da lista também são válidos.
Em programação, o not é frequentemente utilizado para realizar validações negativas, permitindo que o código pare o processamento assim que algo estiver fora do esperado.
Por exemplo, fiz uma pequena adaptação no código do projeto removendo o conversor e mantendo uma lista com dois numeros inteiros e duas strings:
def verifica_tipos(lista):
for num in lista:
if isinstance(num, int):
return "Todos os números foram convertidos corretamente!"
return "Erro."
telefones = [11987654321, 21912345678, "31987654321", "11911223344"]
print(verifica_tipos(telefones))
Nesse caso, a função verifica_tipos vai percorrer a lista e retornar a mensagem de sucesso porque o primeiro elemento já é um valor inteiro, mas isso não significa que todos os elementos foram validados. A execução do return dentro do for faz com que a função seja encerrada imediatamente, então os demais itens da lista nem chegam a ser analisados.
Já na versão com not, o comportamento é o inverso. A função continua percorrendo a lista normalmente e só interrompe caso encontre algum valor que não seja inteiro.
def verifica_tipos(lista):
for num in lista:
if not isinstance(num, int):
return "Erro."
return "Todos os números foram convertidos corretamente!"
telefones = [11987654321, 21912345678, "31987654321", "11911223344"]
print(verifica_tipos(telefones))
Ao chegar no terceiro elemento, que é uma string, a condição if not isinstance(num, int) será verdadeira e a função retornará a mensagem de erro. Dessa forma, o resultado reflete corretamente o estado real dos dados.
Espero ter ajudado.
Siga firme nos seus estudos e conte com o fórum sempre que precisar.
Abraços :)
Caso este post tenha lhe ajudado, por favor, marcar como solucionado