Gerador de cartão de crédito com Tkinter
Publicado por João Victor (última atualização em 15/03/2013)
[ Hits: 19.396 ]
Um script que gera números de cartões de crédito com base em um dígito validador. Esse script é uma das minhas primeiras experiências em Python, portando deve conter erros. Não me responsabilizo pelo uso indevido do programa.
#!/usr/bin/python #Author vikitor566 # Importacao from Tkinter import * import tkMessageBox import Tkinter import os import random #Declaracao de variaveis #vetores card=[] tot=[] #inteiros result=0 vr=0 #Dicionario bancos=dict([('B.Boavista',4231), ('WCard Bradesco',4551), ('Cl.InternetWorld Unibanco',4011), ('Amex',3766), ('Bradesco',4290), ('American Express',4091), ('Itau Mastercard',5390), ('Unibanco',3622), ('Mastercard',5150), ('BB',4001), ('MBNA Discover',6013), ]) #Funcoes def gerar(prefixo): r=0 i=0 s="abc" x=0 global card while i < 4: s=repr(prefixo) x=int(s[i:i+1],10) #print x card.insert(i,x) i=i+1 while i < 15: r=random.uniform(0,9) r=r//1 card.append(int(r)) i = i + 1 return card def testar(cartao): global result global card global tot global vr i=0 x=0 while(i<15): y=cartao[i] if(i+1%2==0): result=result+y elif(i+1%2!=0 and y*2>9): result=result+(y*2-9) else: result=result+y*2 i=i+1 j=0 y=result while (y%10 != 0): j=j+1 y=y+1 #print j card.append(j) return cartao def formato(cartao): i=0 y='' card='' card=''.join(str(cartao)) card=card.replace(",","") card=card.replace("[","") card=card.replace("]","") card=card.replace(" ","") card=card[0:4]+'-'+card[4:8]+'-'+card[8:12]+'-'+card[12:16] return card def final(prefixo): x=formato(testar(gerar(prefixo))) return x def rotina(): global card card=[] p=Lista.get(Lista.curselection()) cod=final(bancos[p]) Texto.insert(END,cod+'\n') top = Tk() top.title('Gerador de cartoes') var = StringVar() label = Label( top, textvariable=var) var.set("Selecione o banco") Lista = Listbox(top, width=50) for itens in bancos: Lista.insert(END,itens) Texto=Text(top,state=NORMAL,height=15,width=50) Botao = Tkinter.Button(top, text ="Gerar", command=rotina) label.pack(padx=15,pady=15) Lista.pack(padx=15,pady=15) Texto.pack(padx=15,pady=15) Botao.pack(padx=15,pady=15) top.mainloop()
QFacil 0.2 - Qemu simplificado.
Calcular aproximação de raiz quadrada
Conversor de Temperaturas Kelvin Celsius e Fahrenheit
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)