Validador de cartão de crédito

Publicado por Djames Suhanko 12/12/2008

[ Hits: 10.021 ]

Homepage: www.phantomsystem.com.br

Download cartao_credito.py




Um validador simples de cartão de crédito em pouquíssimas linhas.

  



Esconder código-fonte

#!/usr/bin/env python
import sys
total=0
s = raw_input('Numero do cartao (sem sinais) -->')
if (len(s) != 16):
 print "Numero errado. faca de novo"
 exit()
for i in range(0,16,2):
 acum=int(s[i])*2
 if (acum > 9):
  acum=acum-9
 total=total+acum
for i in range(1,17,2):
 total=total+int(s[i])
if ((total%10) != 0 or total > 150):
 print "Cartao invalido"
 exit()
print "Cartao valido: %s" % s

Scripts recomendados

Unescape de caracteres especiais ISO-8859-1

QFacil 0.2 - Qemu simplificado.

Par ou ímpar no Python

Gerador de referência cruzada de texto

Coquetel


  

Comentários
[1] Comentário enviado por msiqueira553 em 19/03/2014 - 11:20h

Uma explicação de como o código funciona viria a calhar!

[2] Comentário enviado por Tadzio em 09/05/2014 - 19:18h

tem alguns modos mais fáceis de fazer isso.
primeiro limpe a variavel s:
s = s.replace(' ','').replace('-','')
assim você pode digitar tanto com espaços quanto com -

mas a parte boa:
s1=''.join([str(int(x)*2) for x in s[:16:2]]) # índices pares dobrados
s2 = s[1:17:2] #índices impares

total = sum(map(int,s1+s2))

if ((total%10) != 0:
.print "Cartao invalido"
.exit()
print "Cartao valido: %s" % s


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts