栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python练手小项目(名片管理系统<第二部分>)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python练手小项目(名片管理系统<第二部分>)

 衔接上一部分:Python练手小项目(名片管理系统<第一部分>)_独一无二的李狗蛋儿的博客-CSDN博客

开始进行操作函数的实现

首先完成添加函数:
user_list = [{'序号':1,'姓名': '的嘎达', '电话': '3123131', 'QQ号': '1313'},
             {'序号':2,'姓名': '李四爱吃鱼', '电话': '3123131', 'QQ号': '1313'}
             ]
counts = len(user_list)


def add_user():
    name =  input("请输入姓名:")
    #接收用户姓名后,立刻检索所有的用户,查看用户名是否重复
    for user in user_list:
        if user["姓名"] == name:
            print("添加失败,此用户名已存在")
            break
        #return 也可以
    else:
        tell = input("请输入电话号码:")
        qq = input("请输入QQ号:")
        count = counts + 1
        #保存用户的数据
        user = {"序号":count,"姓名": name , "电话": tell , "QQ号":qq}
        #将新创建的用户字典添加至user_list
        user_list.append(user)
        print(user_list)
    

1.首先在函数外部定义一个列表用于存储用户数据

2.使用for循环和if...else...条件控制语句对用户数据列表进行遍历和判断,查看用户名是否重复是否

3.如果没有此用户,接受用户输入的其他数据,并将其保存为一个字典类型的数据

4.将存有用户数据的字典添加至用户数据列表,即添加用户成功

删除用户函数
def deleter_user():
    index = input("请输入要删除的序号:")
    
    #如果输入的不是整数
    if not index.isdigit():
        print("输入的数字错误")
    else:
        index= int(index)
        if index < 0 or index > len(user_list)-1:
            print("输入的数字不在有效范围内")
        else:
            answer = input("您是否确定删除?(确定1,不确定2):")
            if answer.lower() == "1":
            #列表删除数据的方法:del、pop(根据下标删除)  remove(指定元素删除) clear
                user_list.pop(index)
                #user_list.remove(user_list[index])
                print(user_list)
            

1.根据输入用户输入的序号,判断序号是否违规输入

2.使用pop方法进行删除操作

修改操作函数
def modify_user():
    print("修改名片")
    index = input("请输入要删除的序号:")
    
    user = user_list[index]
    print("请选择您要修改的信息:n姓名:{姓名},电话:{电话},QQ号:{QQ号}".format(**user))     
    new_name = input("请输入新的姓名:")
    for u in user_list:
        if u['姓名'] == new_name:
            print('不允许同名')
            return
    new_tell = input("请输入新的手机号:")
    new_qq = input("请输入新的QQ号:")
    
    user['姓名'] = new_name
    user['电话'] = new_tell
    user['QQ号'] = new_qq
    print(user_list)

1.用户输入需要修改的序号

2.将输入的序号做下标获取具体的用户

3.重置用户信息

查询操作函数
def search_user():
    print("查询名片")
    names = input("请输入要查询名片的名字:")
    for user in user_list:
        if user['姓名'] == names:
           print("查询到的信息如下:n姓名:{姓名},电话:{电话},QQ号:{QQ号}".format(**user))
           return
    else:
        print("用户不存在")

1.用户输入的名字

2.遍历用户列表中的用户字典

3.如果用户字典中的名字与用户输入的名字相同,则打印信息

查询所有用户的函数
def show_all():
    print("显示所有名片")
    print("序号------姓名------手机号------QQ号")
    for user in user_list:
        print(user['序号'],user['姓名'].ljust(10,'-'),user['电话'],user['QQ号'])

遍历打印所有用户信息

退出程序函数
def exit_system():
    answer = input("您是否确定退出(是按1,不是按2):")
    if answer == "1":
         print("退出")
         return True
         exit()
    

exit()退出程序

完整代码:

user_list = [{'姓名': '的嘎达', '电话': '3123131', 'QQ号': '1313'},
             {'姓名': '李四爱吃鱼', '电话': '3123131', 'QQ号': '1313'}
             ]


def add_user():
    name =  input("请输入姓名:")
    #接收用户姓名后,立刻检索所有的用户,查看用户名是否重复
    for user in user_list:
        if user["姓名"] == name:
            print("添加失败,此用户名已存在")
            break
        #return 也可以
    else:
        tell = input("请输入电话号码:")
        qq = input("请输入QQ号:")
        #保存用户的数据
        user = {"姓名": name , "电话": tell , "QQ号":qq}
        #将新创建的用户字典添加至user_list
        user_list.append(user)
        print(user_list)
    
def check_index(i):
    if not i.isdigit() :
        print('输入的数字不合法')
        return  False
    i = int(i)
    if i < 0 or i > len(user_list)-1:
        print("输入的数字不在有效范围内")
        return False 
    
    return True
          
def deleter_user():
    index = input("请输入要删除的序号:")
    
    #如果输入的不是整数
    if not index.isdigit():
        print("输入的数字错误")
    else:
        index= int(index)
        if index < 0 or index > len(user_list)-1:
            print("输入的数字不在有效范围内")
        else:
            answer = input("您是否确定删除?(确定1,不确定2):")
            if answer.lower() == "1":
            #列表删除数据的方法:del、pop(根据下标删除)  remove(指定元素删除) clear
                user_list.pop(index)
                #user_list.remove(user_list[index])
                print(user_list)
            
def modify_user():
    print("修改名片")
    index = input("请输入要删除的序号:")
    if not check_index(index):
        return
    
    index = int(index)
    user = user_list[index]
    print("请选择您要修改的信息:n姓名:{姓名},电话:{电话},QQ号:{QQ号}".format(**user))     
    new_name = input("请输入新的姓名:")
    for u in user_list:
        if u['姓名'] == new_name:
            print('不允许同名')
            return
    new_tell = input("请输入新的手机号:")
    new_qq = input("请输入新的QQ号:")
    
    user['姓名'] = new_name
    user['电话'] = new_tell
    user['QQ号'] = new_qq
    print(user_list)
    
def search_user():
    print("查询名片")
    names = input("请输入要查询名片的名字:")
    for user in user_list:
        if user['姓名'] == names:
           print("查询到的信息如下:n姓名:{姓名},电话:{电话},QQ号:{QQ号}".format(**user))
           return
    else:
        print("用户不存在")
    
def show_all():
    print("显示所有名片")
    print("序号------姓名------手机号------QQ号")
    for i,user in enumerate(user_list):
        print(i,user['姓名'].ljust(10,'-'),user['电话'],user['QQ号'])
        #ljust()  填充

def exit_system():
    #print("退出系统")
    answer = input("您是否确定退出(是按1,不是按2):")
    # if answer == "1":
    #     print("退出")
    #     return True
    return answer == "1"
    #answer 等于1 相当于True
    #也可以使用exit()内置函数退出整个程序

def start():
    while True:
        print("""------------------------------n
              名片管理系统1.0n
              1:添加名片n
              2:删除名片n
              3:修改名片n
              4:查询名片n
              5:查询所有名片n
              6:退出系统n
    ------------------------------""")
        operator = input("请输入您要进行的操作(数字):")
        if operator == "1":
            add_user()
        elif  operator == "2":
            deleter_user()
        elif operator == "3":
            modify_user()
        elif operator == "4":
            search_user()
        elif operator == "5":
            show_all()
        elif operator == "6":
            result = exit_system()
            if result:
                print("退出系统")
                break
        else:
            print("请重新输入")
    
start()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/461572.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号