通讯录文件中存有若干联系人的信息,每个联系人的信息由姓名和电话号码组成。编写程序完成以下功能:输入姓名,若通讯录文件中存在,则将该联系人信息输出;若不存在,则输出“Not Found”。

简介: 通讯录文件中存有若干联系人的信息,每个联系人的信息由姓名和电话号码组成。编写程序完成以下功能:输入姓名,若通讯录文件中存在,则将该联系人信息输出;若不存在,则输出“Not Found”。

还记得川川我吗?啊,不记得就伤我心了,点个赞加个关再走。

QQ:2835809579

白嫖党们,走起!

题目:

通讯录文件中存有若干联系人的信息,每个联系人的信息由姓名和电话号码组成。编写程序完成以下功能:输入姓名,若通讯录文件中存在,则将该联系人信息输出;若不存在,则输出“Not Found”。

代码:

#登录引导界面
txt = '''
1. add contacts
2. delete contacts
3. search contacts
4. show all contacts
5. exit the system 
'''
#检测路径下是否存在通讯录文件,如果没有则建立文件
import os.path
is_exist = os.path.isfile('addressbook.txt')
if is_exist == 0:
    new_file = open('Contacts.txt', 'w')
    new_file.close()
#入口程序
def start():
    #设置循环,当用户输入特定选项退出
    while True:
        print("Welcome, select a number:")
        print(txt)
        userchoice = int(input())
        #输入错误序号则重启程序
        if userchoice not in [1,2,3,4,5]:
            print('wrong choice')
            start()
            break
        #输入正确序号执行相应程序
        elif userchoice == 1:
            add_contacts()
        elif userchoice == 2:
            delete_contacts()
        elif userchoice == 3:
            search_contacts()
        elif userchoice == 4:
            show_all_contacts()
        elif userchoice == 5:
            break
#添加联系人
def add_contacts():
    print('Add new contacts')
    print('Name: ', end = '')
    Name = input()
    print('Sex: ', end = '')
    Sex = input()
    print('Relationship(Friend/ Family/ Classmate): ', end = '')
    Relationship = input()
    print('Number: ', end = '')
    Number = input()
    #将通讯录追加到文件末端
    Contacts_file = open('Contacts.txt','a')
    Contacts_file.write(Name+'\t'+Sex+'\t'+Relationship+'\t'+Number+'\n')
    Contacts_file.close()
#删除通讯录中的信息
def delete_contacts():
    print('Enter the name: ', end = '')
    name = input()
    Contacts_file = open('Contacts.txt', 'r')
    Contacts_list = []
    #将通讯录缓存到列表内,遇到需要删除的通讯录条目则跳过
    for line in Contacts_file.readlines():
        if line.find(name) != -1:
            continue
        Contacts_list.append(line)
    #将通讯录清空,将缓存在列表中的通讯录信息加载进文件内
    Contacts_file = open('Contacts.txt', 'w')
    for i in range(0, len(Contacts_list)):
        Contacts_file.write(Contacts_list[i])
    Contacts_file.close()
#搜索通讯录
def search_contacts():
    print('Enter the name: ',end = '')
    Search_name = input()
    Contacts_file = open('addressbook.txt','r',encoding='utf-8')
    for line in Contacts_file.readlines():
        String = line
        find_or_not = String.find(Search_name)
        if find_or_not !=-1 :
            print(line)
            break
    #若搜索不到,返回Not Found!
    if find_or_not == -1:
        print('Not Found!')
    Contacts_file.close()
#显示通讯录所有条目
def show_all_contacts():
    print('Name\tSex\tRelationship\tNumber', end = '\n')
    Contacts_file = open('addressbook.txt','r')
    print(Contacts_file.read())
    Contacts_file.close()
#执行入口程序
start()

效果还要我演示吗?你们自己运行试试行不!有问题留言哈!!

相关文章
|
6月前
|
编译器
文件\学生信息录入
文件\学生信息录入
40 3
|
7月前
|
JavaScript 算法 Java
看不惯各种信息收集表,我手写了一个身份证号输入组件
`shigen`是一位专注于Java、Python、Vue和Shell等技术的博主,分享知识和成长经历。为应对需频繁输入身份证号码的情况,`shigen`决定研究身份证校验机制。研究过程中,了解到身份证号码的生成规则,包括18位数字及校验码计算。通过编写JavaScript代码,实现了两个级别的身份证号码验证:一级仅检查基本格式,二级则加入校验码计算,确保符合生成规则。代码示例展示了逐步增强的验证功能,防止随意修改身份证号码。欢迎交流讨论,共同进步!
78 3
看不惯各种信息收集表,我手写了一个身份证号输入组件
|
C语言 Windows
C语言实现通讯录【文件版】——存档联系人信息
C语言实现通讯录【文件版】——存档联系人信息
如何快速核对未到场的人数名字EXCEL
如何快速核对未到场的人数名字EXCEL
(模拟菜单选择实现)## 存入你的基本信息,在zhangsan.txt文件中## 显示你的基本信息## 统计zhangsan.txt含有good的文本数
(模拟菜单选择实现)## 存入你的基本信息,在zhangsan.txt文件中## 显示你的基本信息## 统计zhangsan.txt含有good的文本数
108 0
|
数据安全/隐私保护 C语言
【C语言】制作“学生管理成绩系统”,内容包括【系统显示】【录入信息】【删除信息】【等级评定】【成绩排序】【成绩修改】【查找学生】涉及循环、结构体和数组等
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢? 导言 学生菜单系统是基于前阶段的C语言学习,从实际出发,巩固C语言基础的练习,通过多种函数的不同运用,检验知识点的牢固可靠性。 系统设计概述 整个学生系统将会被分成几个内容,将大任务分为多个小任务,并将其合理连接起来,独立而又有联系,对逻辑能力有一定要求(没错,我是木头) 设计多个模块 开发团队信息(即首
【C语言】制作“学生管理成绩系统”,内容包括【系统显示】【录入信息】【删除信息】【等级评定】【成绩排序】【成绩修改】【查找学生】涉及循环、结构体和数组等
通讯录添加信息
通讯录添加信息
112 0
7-27 通讯录的录入与显示 (10 分)
7-27 通讯录的录入与显示 (10 分)
453 0
方法:怎样把大量批量号码导入联系人到手机通讯录?
第一步:我们手里有一个excel表格,里面有铭字和号码,这是常见的格式,当然只有号码也可以。你把它们复制好,然后在电脑上打开软件:金芝号码提取导入助手,把刚才复制好的东西粘贴进来第二步:点它下方的按钮“转成通讯录”,你会得到一个通讯录格式的文件,然后你从电脑上把这个文件发给你的手机,在手机上打开它,就能把大量号码导入到通讯录成为联系人。第三步:怎么把文件从电脑上发给手机,这很简单啊,登录你的电脑某信或者某扣,发给你的手机某信或者某扣就ok了,很常见的方式啊。
方法:怎样把大量批量号码导入联系人到手机通讯录?
方法:如何批量导入电话号码存到手机通讯录?
步骤一:首先,把你电脑上的excel表格打开,把你的人铭和号码,分别复制,粘贴到软件,金芝号码提取导入助手。步骤二:在它的下面点“转换通讯录”,你会得到一个通讯录文件,最后你把这个电脑上得到的文件,发给你的手机w信或者手机q,在手机上打开这个文件就会自动把电话号码批量存到手机通讯录。步骤三:不用我多说,你也知道怎么把电脑文件怎么发给手机的,一般不都是通过电脑w信电脑q发给你的手机w信手机q吗?在手机上打开这个文件,就可以一键批量把号码导入通讯录。
方法:如何批量导入电话号码存到手机通讯录?