from tkinter import *
root = Tk()
root.geometry("500x300")
root.resizable(0, 0)
root.config(bg="#d9ead3")
def app():
numero_cartao = n_cartao.get()
if not numero_cartao.isdigit():
return False
numero_cartao_invertido = numero_cartao[::-1]
digitos_dobrados = []
for i in range(len(numero_cartao_invertido)):
if i % 2 == 1:
digito_dobrado = int(numero_cartao_invertido[i]) * 2
if digito_dobrado > 9:
digito_dobrado -= 9
digitos_dobrados.append(digito_dobrado)
else:
digitos_dobrados.append(int(numero_cartao_invertido[i]))
soma_digitos = sum(digitos_dobrados)
if soma_digitos % 10 == 0:
mensagem ="O número do cartão é válido."
else:
mensagem = "O número do cartão é inválido."
resultado.set(mensagem)
def limpar():
n_cartao_entrada.delete(0, END)
root.title("Verificador de Validade de Cartão de Crédito")
titulo = Label(text="Verificador de Validade de Cartão de Crédito",
font=("Arial", "15", "bold"),bg="#d9ead3",fg="#bf9000")
titulo.place(relx=0.07, rely=0.05)
texto_sub1= Label(text="Número do Cartão:",
font=("Arial", "13", "bold"),bg="#d9ead3",fg="#bf9000")
texto_sub1.place(relx=0.2, rely=0.25)
n_cartao = StringVar()
n_cartao_entrada = Entry(textvariable=n_cartao,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
n_cartao_entrada.place(relx=0.55, rely=0.25, relwidth=0.35)
but1 = Button(text="Verificar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.05, rely=0.45, relwidth=0.25, relheight=0.1)
but_limpar = Button(text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar)
but_limpar.place(relx=0.35, rely=0.45, relwidth=0.25, relheight=0.1)
but_sair = Button(text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy)
but_sair.place(relx=0.65, rely=0.45, relwidth=0.25, relheight=0.1)
resultado = StringVar()
resultado_texto = Label(textvariable=resultado,
font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.75, relwidth=0.9,relheight=0.1)
root.mainloop()