def validar_cartao_luhn(numero):
"""
Verifica se um número de cartão de crédito é válido com base no Algoritmo de Luhn.
"""
numero = numero.replace(" ", "") # Remover espaços, caso haja
if not numero.isdigit():
return False
soma = 0
inverter = numero[::-1] # Inverte o número para começar da direita
for i, digito in enumerate(inverter):
n = int(digito)
if i % 2 == 1:
n *= 2
if n > 9:
n -= 9
soma += n
return soma % 10 == 0
# Exemplo de uso:
numero_cartao = "4539 1488 0343 6467" # Número de cartão para testar
if validar_cartao_luhn(numero_cartao):
print("Número de cartão válido (pelo Algoritmo de Luhn).")
else:
print("Número de cartão inválido.")