Gerador de cartão de crédito com Tkinter
Publicado por João Victor (última atualização em 15/03/2013)
[ Hits: 19.316 ]
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()
Avaliador de Expressões Simples
Exercício com números randômicos - randint
Nenhum comentário foi encontrado.
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta