Mundo em Python

PIN e PUK

import tkinter as tk
from tkinter import messagebox pin = 1223
puk = 1111
tentativa_pin = 0
tentativa_puk = 0
def verificar_pin():
global tentativa_pin
try:
opcao = int(entry.get())
if opcao == pin:
messagebox.showinfo("Sucesso"
, "PIN correto! Acesso concedido.")
root.destroy()
else:
tentativa_pin += 1
if tentativa_pin >= 3:
messagebox.showwarning("Bloqueado"
, "Número de tentativas excedido. Insira o PUK.")
entry.pack_forget()
btn_verificar_pin.pack_forget()
entry_puk.pack(pady=5)
btn_verificar_puk.pack(pady=5)
else:
messagebox.showerror("Erro", f"PIN incorreto."
f" Tentativa {tentativa_pin}/3")
except ValueError:
messagebox.showerror("Erro", "Entrada inválida. Insira um número.") def verificar_puk():
global tentativa_puk
try:
opcao = int(entry_puk.get())
if opcao == puk:
messagebox.showinfo("Sucesso",
"PUK correto! Dispositivo desbloqueado.")
root.destroy()
else:
tentativa_puk += 1
if tentativa_puk >= 10:
messagebox.showerror("Erro", "PUK incorreto 10 vezes. Contate o suporte.")
root.destroy()
else:
messagebox.showerror("Erro", f"PUK incorreto. Tentativa {tentativa_puk}/10")
except ValueError:
messagebox.showerror("Erro", "Entrada inválida. Insira um número.")
root = tk.Tk()
root.geometry("400x300")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("PIN e PUK") titulo = tk.Label(root, text="PIN e PUK",
font=("Arial", 20, "bold"), bg="#103030", fg="#49e3e3")
titulo.pack(pady=10) entry = tk.Entry(root, font=("Arial", 14), justify='center')
entry.pack(pady=5) btn_verificar_pin = tk.Button(root, text="Verificar PIN", command=verificar_pin, font=("Arial", 12))
btn_verificar_pin.pack(pady=5)
entry_puk = tk.Entry(root, font=("Arial", 14), justify='center')
btn_verificar_puk = tk.Button(root, text="Verificar PUK", command=verificar_puk, font=("Arial", 12))
root.mainloop()
0