python实现通讯录系统

本文实例为大家分享了python实现通讯录系统的具体代码,供大家参考,具体内容如下

一、首先,给大家看一下这个系统的主菜单效果

如下:

二、步骤分析

1、首先创建一个main.py文件:

main.py:

#导入管理系统模块
from managerSystem import ContactManager
#启动管理系统
if __name__=='__main__':
    contact_manager=ContactManager()
    contact_manager.run()

2、第二步,将主菜单列表展示出出来:

*创建managerSystem.py:

*在mangagerSystem.py中写一个静态方法:

#2.1系统菜单功能实现--静态方法
    @staticmethod
    def show_menu():
        print('请选择如下功能:')
        print('1、添加联系人')
        print('2、删除联系人')
        print('3、修改联系人信息')
        print('4、查询联系人信息')
        print('5、显示所有联系人信息')
        print('6、保存联系人信息')
        print('7、退出系统')

3、第三步,实现功能:

例如,增加联系人功能函数:

 def add_contact(self):
        # 1. 用户输入姓名 性别 手机号
        name = input('请输入您的姓名:')
        gender = input('请输入您的性别:')
        tel = input('请输入您的电话:')
        # 2.创建联系人对象
        contact = Contact(name, gender, tel)
        # 3. 将该对象添加到联系人列表
        self.contact_list.append(contact)
        print(self.contact_list)
        print(contact)

4、创建contact表:

contact:

class Contact(object):
    def __init__(self,name,gender,tel):
        #形参 name,gender,tel
        #实例属性
     self.name=name
     self.gender=gender
     self.tel=tel
 
    def __str__(self):
        return f'{self.name},{self.gender},{self.tel}'

5、记录数据:contact.data:

最后,给大家managerSystem.py源代码:

from contact import Contact
class ContactManager(object):
    def __int__(self):
        self.contact_list=[]
    def run(self):
        self.load_contact()
        while True:
            self.show_menu()
            menu_num=int(input('请输入您需要的功能序号:'))
            if menu_num==1:
                self.add_contact()
            elif menu_num==2:
                self.del_contact()
            elif menu_num==3:
                self.modify_contact()
            elif menu_num==4:
                self.search_contact()
            elif menu_num==5:
                self.show_contact()
            elif menu_num==6:
                self.save_contact()
            elif menu_num==7:
                break
    @staticmethod
    def show_menu():
        print('请选择如下功能:')
        print('1、添加联系人')
        print('2、删除联系人')
        print('3、修改联系人信息')
        print('4、查询联系人信息')
        print('5、显示所有联系人信息')
        print('6、保存联系人信息')
        print('7、退出系统')
 
    def add_contact(self):
        name = input('请输入您的姓名:')
        gender = input('请输入您的性别:')
        tel = input('请输入您的电话:')
        contact = Contact(name, gender, tel)
        self.contact_list.append(contact)
        print(self.contact_list)
        print(contact)
 
    def del_contact(self):
        del_name = input('请输入要删除的联系人姓名:')
        flag=1
        for i in self.contact_list:
            if i.name == del_name:
                self.contact_list.remove(i)
                flag=0
                break
        if flag==1:
            print('查无此人!')
 
            print(self.contact_list)
 
    def modify_contact(self):
        modify_name = input('请输入要修改的联系人姓名:')
        flag=1
        for i in self.contact_list:
            if i.name == modify_name:
                i.name = input('请输入联系人姓名:')
                i.gender = input('请输入联系人性别:')
                i.tel = input('请输入联系人手机号:')
                print(f'修改该联系人信息成功,姓名:{i.name}, 性别{i.gender}, 手机号{i.tel}')
                flag=0
                break
        if flag==1:
            print('查无此人!')
    def search_contact(self):
        search_name = input('请输入要查询的联系人姓名:')
        flag=1
        for i in self.contact_list:
            if i.name == search_name:
                print(f'姓名{i.name}, 性别{i.gender}, 手机号{i.tel}')
                flag=0
                break
        if flag==1:
            print('查无此人!')
 
    def show_contact(self):
        print("姓名\t性别\t手机号")
        for i in self.contact_list:
            print(f'{i.name}\t{i.gender}\t{i.tel}')
 
    def save_contact(self):
        f = open('contact.data', 'w')
        new_list = [i.__dict__ for i in self.contact_list]
        f.write(str(new_list))
        f.close()
 
 
    def load_contact(self):
        try:
            f = open('contact.data', 'r')
        except:
            f = open('contact.data', 'w')
        else:
            data = f.read()
            new_list = eval(data)
            self.contact_list = [Contact(i['name'], i['gender'], i['tel']) for i in new_list]
        finally:
            f.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python实现通讯录管理系统

    本文实例为大家分享了python实现通讯录管理系统的具体代码,供大家参考,具体内容如下 题目 期末项目 一. 项目要求 利用函数实现通讯录管理系统,通讯录的内容包含姓名.联系方式.微信号.电子邮箱等需要保存的信息.至少要包含姓名和联系方式两种.管理系统的功能包括信息的添加.删除.修改.查询.显示.保存的功能. 二.项目步骤 1.使用自定义函数实现每个功能 (1)功能菜单:显示项目应该具有的功能(2)添加:输入要添加的信息 (3)删除:输入要删除的联系人姓名,删除其所有的信息(4)修改:输入要修改

  • python数据库编程 Mysql实现通讯录

    本文实例为大家分享了Mysql实现通讯录的具体代码,供大家参考,具体内容如下 #-*-code:utf-8-*- import pymysql def CreateTable(): hcon=pymysql.connect(host='localhost',user='root',password='lptpwd',database='contract',charset='utf8') hcur=hcon.cursor() hcur.execute('drop table if exists c

  • python实现学生通讯录管理系统

    本文实例为大家分享了python实现学生通讯录管理系统的具体代码,供大家参考,具体内容如下 功能模块分析: 1.首页(菜单功能) 2.添加学生 3.删除学生 4.修改学生 5.统计通讯录联系人人数 6.获取所有学生通讯信息 代码如下: def main(): while True: menu() number = int(input("请输入需要实现的操作的序号:")) if number==1: insert() #添加学生 if number==2: delete() #删除学生

  • Python实现通讯录功能

    说实话,第一次写这么长的Python代码,期间遇到了很多问题,但是,最终还是完成了,花了我一天半的时间. 该程序实现了用户的增,删,改,查,主要用到sqlite3模块.对于该模块的知识点,请查看我的另一篇文章SQLite-Python 如有更好的建议,请私信,本人将不胜荣幸,让我们一起来学习Python! #-*- coding:utf-8 -*- import sqlite3 #打开本地数据库用于存储用户信息 conn = sqlite3.connect('mysql_person.db')

  • Python实现命令行通讯录实例教程

    1.实现目标 编写一个命令行通讯录程序,可以添加.查询.删除通讯录好友及电话 2.实现方法 创建一个类来表示一个人的信息.使用字典存储每个人的对象,名字作为键. 使用pickle模块永久地把这些对象存储下来. 使用字典内建的方法添加.删除修改人员信息. 3.思维导图 4.编写伪代码 # 1.创建字典用来存储通讯录信息 # 2.创建人员类,包含姓名.关系.电话三个属性 # 3.创建操作类,包含增加.查询.删除人员,退出,保存并退出五个方法 # 4.程序运行 # 5.判断通讯录文件是否存在 # 6.

  • 如何用Python写一个简单的通讯录

    目录 用Python写一个简单的通讯录 一.构思 1.定义空列表和一个空字典来存储 2.定义功能选项 3.添加通讯录功能 3.2 删除学员功能 二.整体项目演示 用Python写一个简单的通讯录 一.构思 1.定义空列表和一个空字典来存储 list1=[] #用于储存字典中的信息 dict1={} #用于储存联系人信息 2.定义功能选项 def Menu(): print('请选择功能--------\n' '1.添加学员\n' '2.删除学员\n' '3.修改学员\n' '4.查询学员\n'

  • python实现简单通讯录管理系统

    本文实例为大家分享了python实现通讯录管理系统的具体代码,供大家参考,具体内容如下 =====欢迎使用通讯录管理系统=====1.添加2.修改3.册除4.查询5.排序6.退出========================= 请选择你要执行的操作的序号,具体要求: 1)通讯录要以文件的形式存储在硬盘上(比如D:\tongxunlu) ,每一条数据(联系人姓名和手机号码)存储一行,如果一个联系人有多个手机号,则都存储在同一行,即通讯录中每个联系入的数据占一行. 2)系统运行时初始菜单如上,根据

  • python数据库编程 ODBC方式实现通讯录

    Python 数据库编程,ODBC方式实现通讯录,供大家参考,具体内容如下 #-*-coding:utf-8-*- import pyodbc import os def SelectInfo(hcon,hcur): hcur.execute('select * from PassMapT') ptitle=('ID','Item','Pwd','other') print(ptitle) result=hcur.fetchall() for item in result: print(item

  • python实现手机通讯录搜索功能

    本文实例为大家分享了python通过输入联系人首字母查询联系人的具体代码,供大家参考,具体内容如下 # -*- coding:utf-8 -*- # 练习2: # 模拟手机通讯录搜索功能 class PERSON(object): def __init__(self): self.name_list = ['zhangsan', 'zhangsanfeng', 'zhaoliu', 'wangwu', 'wulong', 'wanda', 'lisi', 'liuyang','luoxiaoxi

  • 一个简单的python程序实例(通讯录)

    核心代码: 复制代码 代码如下: #!/usr/bin/python#Filename:friendbook.pyimport cPickle as pimport sysimport timeimport os ab={'Xdex':'cneds@fnedf.com',        'Laexly':'fev@fe.com',        'Fukc':'fexok@ver.com',        'Stifu':'stif@qq.com'} def Dumpfile(list):   

随机推荐