python3 电话本简单实现(还在完善)

本文介绍了一个使用 Python 实现的简易电话簿管理系统。该系统具备添加、显示、查询和删除联系人的基本功能,并将数据存储在本地文件中。通过简单的命令行界面进行交互,适合初学者了解文件操作和基本数据管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import re

class phoneBook:
    def __init__(self, name, number):
        self.name = name
        self.number = number

    def SaveContacts(self):

        PhoneBook = open('PhoneBook.txt', 'a+')
        name = self.name
        number = self.number

        line = name +':' + number
        PhoneBook.write(line)
        PhoneBook.write('\n')


    def LoadContacts(self):   #txt文档中读取联系人

            p = open('PhoneBook.txt')
            contacts = p.read()

            if contacts == '':
                print('###电话本为空')
            else:
                ContactsList = contacts.split('\n')
                for contact in ContactsList:
                    if contact != '':
                        contact = contact.split(':')
                        print('联系人姓名:'+contact[0])
                        print('联系人电话:'+contact[1])


    def query(self, queruName):
        flag = True
        p = open('PhoneBook.txt')
        contacts = p.read()

        ContactsList = contacts.split('\n')
        for contact in ContactsList:
            contact = contact.split(':')
            if queruName == contact[0]:
                print('所查询联系人存在')
                print('联系人姓名:' + contact[0])
                print('联系人电话:' + contact[1])
                print(contact)
                flag = False
        if flag:
             print('联系人不存在')

    def deleteNumber(self, deleteName):
        flag = True
        p = open('PhoneBook.txt', 'a+')
        contacts = p.read()

        ContactsList = contacts.split('\n')

        for contact in ContactsList:
           contact = contact.split(':')
           if deleteName == contact[0]:
               ContactsList.remove('a:1')
               flag = False


        for contact in ContactsList:
            contact = contact.split(':')
            name = contact[0]
            number = contact[1]
            line = name + ':' +number
            p.write(line)
            p.write('\n')


        if flag:
            print('要删除的联系人不存在')
while True:
    print( '''
--------------------------------
    输入 a:添加联系人
    输入 s:显示联系人信息
    输入 d:删除联系人
    输入 q:查询联系人
--------------------------------''')
    control = input('>>>>>')
    if control.lower() == 'a':

        while True:
            name1 = input('请输入姓名:')
            if name1 == '':
                print('姓名不能为空')
            else:
                name1 = name1.strip()  # 删除开头结尾的空格字符
                break

        while True:
            number1 = input('请输入号码:')
            if number1 == '':
                print('电话号码不能为空')
            else:
                number1 = re.sub(r'\D', '', number1)
                break
        myPhoneBook = phoneBook(name1, number1)
        myPhoneBook.SaveContacts()

    if control.lower() == 's':
        myPhoneBook = phoneBook('','')
        myPhoneBook.LoadContacts()

    if control.lower() == 'q':
        myPhoneBook = phoneBook('','')
        queryname = input('请输入查询名字')
        myPhoneBook.query(queryname)
    if control.lower() == 'd':
        myPhoneBook = phoneBook('', '')
        deletename = input('请输入要删除的名字')
        myPhoneBook.deleteNumber(deletename)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值