python实现通讯录系统
作者:不许代码码上红 发布时间:2023-06-12 20:57:50
标签: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()
来源:https://blog.csdn.net/qq_45801904/article/details/123693545


猜你喜欢
- 0x00 识别涉及技术验证码识别涉及很多方面的内容。入手难度大,但是入手后,可拓展性又非常广泛,可玩性极强,成就感也很足。验证码图像处理验证
- 利用PHP中的thinkphp5进行项目开发,将view一道项目跟目录下进入到/www/wwwroot/xxxx/application/c
- 1、吃金币源码分享:import osimport cfgimport sysimport pygameimport randomfrom
- 基本使用import unittestclass Testcase(unittest.TestCase): @classmeth
- PHP levenshtein() 函数实例计算两个字符串之间的 Levenshtein 距离:<?php echo levensht
- 西刺代理是一个国内IP代理,由于代理倒闭了,所以我就把原来的代码放出来供大家学习吧。镜像地址:https://www.blib.cn/url
- PIL和PillowPIL(Python Image Library)是一个非常流行的Python图像处理库,但自从2011年以来就没有更新
- LyScript是一款x64dbg主动化操控插件,经过Python操控X64dbg,完成了远程动态调试,解决了逆向工作者剖析漏洞,寻觅指令片
- #常用的几个代码--查询临时表空间select name from v$tempfile;--查询表空间select name from v
- 前言如何从图像中提取特征?第一次听说“特征提取”一词是在 YouTube 上的机器学习视频教程中,它
- 新标准的熟悉和入门内容: 还在用 HTML 编写文档?如果是的话,就不符合当前标准了。2000 年&
- python最值与下标最大值的下标winner = np.argmax(scores)多个最大值的下标(np.argwhere返回数组中非0
- 本文实例讲述了PHP cookie,session的使用与用户自动登录功能实现方法。分享给大家供大家参考,具体如下:cookie的使用//生
- 一. 字符串生活中我们经常坐大巴车,每个座位一个编号,一个位置对应一个下标。 字符串中也有下标,要取出字符串中的部分数据,可以用下标取。py
- keras非常方便。不解释,直接上实例。数据格式如下:序号 天气 是否周末 是否有促销 销量1 坏 &n
- eval(String) 函数可计算某个字符串,并执行其中的的 JavaScript 代码。返回值通过计算 string 得到的值(如果有的
- 客户端代码:#-*-encoding:utf-8-*-import socketimport osimport sysimport math
- 监听服务的信号,实现平滑启动,linux信号说明package main import ("context""
- 阅读上一篇:Freshow工具使用方法一. eval加密是在网马解密中最常见的,eval在jscript脚本中实际上是一个函数,简单可以理解
- 一、概述机器学习算法在近几年大数据点燃的热火熏陶下已经变得被人所“熟知”,就算不懂得其中各算法理论,叫你喊上一两个著名算法的名字,你也能昂首