FelipeAPM
Membro Júnior-
Posts
3 -
Cadastrado em
-
Última visita
Reputação
0-
Python Sistema de Contatos (Falta barra de rolagem)
FelipeAPM respondeu ao tópico de FelipeAPM em Programação - outros
@Swalls Eu quero tentar colocar a barra de rolagem no código. Aí eu queria ajuda em relação isso, para funcionar. -
Python Sistema de Contatos (Falta barra de rolagem)
FelipeAPM respondeu ao tópico de FelipeAPM em Programação - outros
import tkinter as tk from tkinter import messagebox from operator import itemgetter from datetime import datetime import sqlite3 conexao = sqlite3.connect('contatos.db') cursor = conexao.cursor() cursor.execute(''' CREATE TABLE contatos ( id INTEGER PRIMARY KEY AUTOINCREMENT, nome TEXT, telefone TEXT, data_nascimento TEXT ) ''') conexao.commit() # Dados iniciais registros = [ {'nome': 'João Silva', 'telefone': '123456789', 'data_nascimento': '1990-01-01'}, {'nome': 'Maria Santos', 'telefone': '987654321', 'data_nascimento': '1992-05-15'}, {'nome': 'Jose Antonio', 'telefone': '397439789', 'data_nascimento': '1974-05-10'}, {'nome': 'Carlos Aurora', 'telefone': '382039299', 'data_nascimento': '1978-05-05'}, {'nome': 'Jose Vitoria', 'telefone': '374938398', 'data_nascimento': '1988-05-02'}, {'nome': 'Jose Maria', 'telefone': '374918398', 'data_nascimento': '1989-02-02'}, {'nome': 'Jose Silva', 'telefone': '374938397', 'data_nascimento': '1996-01-02'}, {'nome': 'Maria Jose', 'telefone': '374922398', 'data_nascimento': '1995-03-02'}, {'nome': 'Emanuel Ricardo', 'telefone': '374910398', 'data_nascimento': '1990-04-12'}, {'nome': 'Mario Antunes', 'telefone': '374128398', 'data_nascimento': '1985-03-02'}, {'nome': 'Danilo Alves', 'telefone': '404938398', 'data_nascimento': '1973-05-02'}, {'nome': 'Angelo Pereira', 'telefone': '404938398', 'data_nascimento': '1977-03-02'}, {'nome': 'Adalberto Silva', 'telefone': '374638398', 'data_nascimento': '1975-04-02'}, {'nome': 'Crisostemos Medeiros', 'telefone': '404938478', 'data_nascimento': '1979-10-02'}, {'nome': 'Pablo Aparecido', 'telefone': '404938399', 'data_nascimento': '1990-10-02'}, {'nome': 'Alex Aparecido', 'telefone': '404938389', 'data_nascimento': '1987-10-25'}, {'nome': 'Marina Antunes', 'telefone': '407038399', 'data_nascimento': '1990-10-20'}, {'nome': 'Marcos Leiria', 'telefone': '404936399', 'data_nascimento': '1977-07-02'}, {'nome': 'Daniel Leiria', 'telefone': '407938399', 'data_nascimento': '1980-07-20'}, {'nome': 'Marcos Pontes', 'telefone': '404939899', 'data_nascimento': '1990-10-18'}, ] def adicionar_registro(): nome = entry_nome.get() telefone = entry_telefone.get() data_nascimento = entry_nascimento.get() registro = {'nome': nome, 'telefone': telefone, 'data_nascimento': data_nascimento} registros.append(registro) messagebox.showinfo('Sucesso', 'Registro adicionado com sucesso!') # Limpar campos de entrada entry_nome.delete(0, tk.END) entry_telefone.delete(0, tk.END) entry_nascimento.delete(0, tk.END) def buscar_por_telefone(): telefone = entry_telefone_busca.get() for registro in registros: if registro['telefone'] == telefone: messagebox.showinfo('Resultado', f'O nome correspondente ao telefone {telefone} é: {registro["nome"]}') return messagebox.showinfo('Resultado', 'Nenhum registro encontrado com o telefone informado.') def aniversariantes_mes(): mes = int(combo_mes.get()) aniversariantes = [] for registro in registros: data_nascimento = datetime.strptime(registro['data_nascimento'], '%Y-%m-%d') if data_nascimento.month == mes: aniversariantes.append(registro) if not aniversariantes: messagebox.showinfo('Resultado', 'Nenhum aniversariante encontrado para o mês informado.') return aniversariantes = sorted(aniversariantes, key=itemgetter('data_nascimento')) resultado = 'Aniversariantes do mês:\n\n' for aniversariante in aniversariantes: nome = aniversariante['nome'] telefone = aniversariante['telefone'] dia = datetime.strptime(aniversariante['data_nascimento'], '%Y-%m-%d').day resultado += f'Nome: {nome}\nTelefone: {telefone}\nDia do aniversário: {dia}\n\n' messagebox.showinfo('Resultado', resultado) def listar_contatos(): resultado = 'Lista de contatos:\n\n' for registro in registros: nome = registro['nome'] telefone = registro['telefone'] data_nascimento = registro['data_nascimento'] resultado += f'Nome: {nome}\nTelefone: {telefone}\nData de Nascimento: {data_nascimento}\n\n' messagebox.showinfo('Lista de Contatos', resultado) # Interface gráfica window = tk.Tk() window.title('CRUD - Registros') window.geometry('400x400') label_nome = tk.Label(window, text='Nome:') label_nome.pack() entry_nome = tk.Entry(window) entry_nome.pack() label_telefone = tk.Label(window, text='Telefone:') label_telefone.pack() entry_telefone = tk.Entry(window) entry_telefone.pack() label_nascimento = tk.Label(window, text='Data de Nascimento (AAAA-MM-DD):') label_nascimento.pack() entry_nascimento = tk.Entry(window) entry_nascimento.pack() button_adicionar = tk.Button(window, text='Adicionar Registro', command=adicionar_registro) button_adicionar.pack() label_telefone_busca = tk.Label(window, text='Buscar por Telefone:') label_telefone_busca.pack() entry_telefone_busca = tk.Entry(window) entry_telefone_busca.pack() button_buscar = tk.Button(window, text='Buscar', command=buscar_por_telefone) button_buscar.pack() label_mes = tk.Label(window, text='Mês (1-12):') label_mes.pack() combo_mes = tk.Entry(window) combo_mes.pack() button_aniversariantes = tk.Button(window, text='Aniversariantes do Mês', command=aniversariantes_mes) button_aniversariantes.pack() button_listar = tk.Button(window, text='Listar Contatos', command=listar_contatos) button_listar.pack() window.mainloop() -
FelipeAPM começou a seguir Sistema de Contatos (Falta barra de rolagem)
-
Python Sistema de Contatos (Falta barra de rolagem)
FelipeAPM postou um tópico em Programação - outros
Alguém entende como fazer essa atividade? Estou tendo dificuldade. Está faltando a barra de rolagem Tudo no gráfico Campos: nome, telefone, data de nascimento. Registros: no mínimo 20. Relatórios: - listagem completa (nome (ordem alfabética), telefone, data de nascimento) - Buscar por telefone (retorna o nome) - Apresentar os aniversariantes do mês específico (nome, telefone, dia(em ordem crescente)) trabalho RAD av2.rar
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais