Prévia do material em texto
Para um exemplo melhor, iremos criar um script que usa GUI (Interface Gráfica do Usuário) que em Python requer o uso de uma biblioteca de GUI, como Tkinter. Vamos criar um exemplo simples usando Tkinter para receber a data de nascimento e calcular a idade da pessoa. Vamos dividi-lo em etapas e explicar cada linha de código:
import tkinter as tk
from tkinter import messagebox
from datetime import datetime
# Função para calcular a idade
def calcular_idade():
data_nascimento = entry_data_nascimento.get()
try:
data_nascimento = datetime.strptime(data_nascimento, "%d/%m/%Y")
hoje = datetime.now()
idade = hoje.year - data_nascimento.year - ((hoje.month, hoje.day) < (data_nascimento.month, data_nascimento.day))
messagebox.showinfo("Idade", f"Sua idade é: {idade} anos")
except ValueError:
messagebox.showerror("Erro", "Formato de data inválido. Use o formato dd/mm/aaaa")
# Configurar a janela principal
root = tk.Tk()
root.title("Calculadora de Idade")
# Rótulo e entrada para a data de nascimento
label_data_nascimento = tk.Label(root, text="Digite sua data de nascimento (dd/mm/aaaa):")
label_data_nascimento.pack()
entry_data_nascimento = tk.Entry(root)
entry_data_nascimento.pack()
# Botão para calcular a idade
calcular_button = tk.Button(root, text="Calcular Idade", command=calcular_idade)
calcular_button.pack()
# Iniciar a interface gráfica
root.mainloop()
Aqui está uma explicação de cada parte do código:
Importamos as bibliotecas necessárias: tkinter para criar a GUI, messagebox para exibir mensagens de diálogo e datetime para trabalhar com datas.
Definimos a função calcular_idade(), que será chamada quando o botão "Calcular Idade" for clicado. Ela lê a data de nascimento do usuário, calcula a idade com base na data atual e exibe a idade em uma caixa de mensagem.
Criamos a janela principal usando tk.Tk() e definimos seu título.
Criamos um rótulo e uma entrada de texto para que o usuário insira sua data de nascimento.
Criamos um botão "Calcular Idade" que, quando clicado, chamará a função calcular_idade().
Finalmente, iniciamos a interface gráfica com root.mainloop(), que entra em um loop infinito para exibir a janela e responder às ações do usuário.