Python-控制台实现简单的名片管理系统
通过Python开发一个基于控制台的名片管理系统,具体看下图以及相关代码。

cards_main.py文件中提供程序的入口
import cards_toolslx while True:
# TODO 显示功能菜单
cards_toolslx.show_menu() GongNeng = input("请选择您要使用的功能:")
print("您选择的操作是:[%s]" % GongNeng) if GongNeng in ["","",""]: #新增名片
if GongNeng == "":
cards_toolslx.ChaRu()
#显示名片
elif GongNeng == "":
cards_toolslx.XianShi() #查询名片
else:
cards_toolslx.ChaXun() elif GongNeng == "":
print("-" * 50)
print("欢迎再次使用名片管理系统")
break else:
print("-" * 50)
print("输入有误,请重新输入")
cards_toolslx.py文件提供名片系统中所用的各种函数
"""记录所有名片字典的列表"""
card_list = [] def show_menu():
"""显示菜单"""
print("*" * 50)
print("欢迎使用名片管理系统")
print("1-新增名片")
print("2-显示全部")
print("3-搜索名片")
print("0-退出系统")
print("*" * 50) def ChaRu():
"""
新增名片 """
print("-" * 50)
print("新增名片") #1.提示用户输入名片的详细信息
name_str = input("请输入姓名:")
phone = input("请输入电话:")
qq_str = input("请输入qq:")
emall_str = input("请输入邮箱:") #2.当用户输入完成后建立用户名片字典
card_dict = {"name":name_str,
"phone":phone,
"qq":qq_str,
"emall":emall_str}
card_list.append(card_dict)
print(card_list) #3.名片字典添加到列表中
print("%s名片添加成功!" % name_str) def XianShi():
"""显示全部"""
print("-" * 50)
print("显示全部") #打印表头
for name in ["姓名","电话","qq","邮箱"]:
print(name,end="\t\t\t\t") print("")
print("="*50) for card_dict in card_list:
print("%s\t\t%s\t\t%s2\t\t%s" % (card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["emall"]
)) def ChaXun():
"""搜索名片"""
print("-" * 50)
print("搜索名片")
SouSuo = input("请输入要搜索的名字:") for a in card_list:
if SouSuo == a["name"]:
for name in ["姓名", "电话", "qq", "邮箱"]:
print(name, end="\t\t\t\t")
print("") print("%s\t\t%s\t\t%s2\t\t%s" % (a["name"],
a["phone"],
a["qq"],
a["emall"]
))
deal_card(a) break
else:
print("未搜索到%s的名片!" % SouSuo) def deal_card(find_dict):
""" @param find_dict:
"""
action_str = input("请选择要执行的操作"
"[1] 修改 [2] 删除 [0] 返回上级菜单") if action_str == "":
find_dict["name"] = input_card_info(find_dict["name"], "姓名")
find_dict["phone"] = input_card_info(find_dict["phone"],"电话")
find_dict["qq"] = input_card_info(find_dict["qq"],"QQ")
find_dict["emall"] = input_card_info(find_dict["emall"],"邮箱")
print("成功修改名片") elif action_str == "":
card_list.remove(find_dict)
print("成功删除名片") elif action_str == "":
show_menu() else:
print("输入错误,请重新选择!") def input_card_info(dict_value,tip_message): #1.提示用户输入内容
result_str = input_card_info(tip_message)
#2.针对用户的输入如进行判断,如果用户输入修改数据,直接返回结果
if len(result_str) > 0:
return result_str else:
return dict_value
#3.如果用户没有输入内容,返回字典中原有的值
Python-控制台实现简单的名片管理系统的更多相关文章
- Python基础综合运用——搭建名片管理系统
综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ************ ...
- python基础提高演练(名片管理系统的开发)
综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 1. 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ********* ...
- Python:名片管理系统
字符串和列表学完, 自己试着写了一个非常简单的名片管理系统, 新萌尝试, 大佬们不要喷, 修改名片的功能我偷了个懒, 因为我不知道怎么通过定义下标,然后通过下标来修改列表内的字符串 我的思路是,把用户 ...
- 学习笔记之Python人机交互小项目二:名片管理系统
继上次利用列表相关知识做了简单的人机交互的小项目名字管理系统后,当学习到字典时,老师又让我们结合列表和字典的知识,结合一起做一个名片管理系统,这里分享给在学习Python的伙伴! 1.不使用函数 1 ...
- python名片管理系统V2
主程序: #! /usr/bin env python3 # -*- coding: utf-8 -*- # 项目三: # 1.要求:编写一个名片管理系统,功能如下: # 用户输入相对应的指令,实现对 ...
- python名片管理系统
1.代码: (1)主程序 #!/usr/bin/env python # -*- coding: UTF-8 -*- import cards_tools # 无限循环,由用户主动决定什么时候退出循环 ...
- Python:名片管理系统(增加登录功能后出现问题,求教)
我将一个简单的名片管理系统定义成了函数.. 2层. 一个登录界面: 一个名片管理系统使用界面: 逻辑是:登录成功=>跳入名片系统使用界面,同时,跳出登录界面,给出欢迎使用,程序结束. 此时问题来 ...
- python程序—名片管理系统
创建一个名片管理系统,实现增.删.改.查.四项功能 listcard = [] while True: print('**********欢迎来到名片管理系统**********') print(' ...
- python案例:实现一个函数版的名片管理系统
本案例使用了自定义函数以及对字符串的常见操作.判断语句和循环语句等知识. 要求 必须使用自定义函数,完成对程序的模块化. 名片信息至少包括:姓名.电话.住址. 必须完成的功能:增.删.改.查.退出. ...
随机推荐
- CG-CTF(5)
CG-CTF https://cgctf.nuptsast.com/challenges#Web 续上~ 第二十二题:SQL注入1 点击Source: 分析: mysql_select_db()函数: ...
- Bat 脚本 删除某一行
findstr /v /i /c:"kiwi" /c:"oranges" myfile.txt >newfile.txt
- [Windows]允许未签名的驱动
bcdedit.exe -set loadoptions ENABLE_INTEGRITY_CHECKS bcdedit.exe -set TESTSIGNING OFF https://social ...
- java 设计模式-责任链
责任链设计模式,其实就是处理同一个请求的对象连接成一条链,请求的路径经过这条链,符合要求的就处理这个请求,不符合就接着往下面抛出,直道有人处理这条请求. 业务:比如啊,公司个人请假,三天以下就是主管审 ...
- (转)logback配置详解
找到一篇很详细的关于logback配置的介绍: 贴上原文链接:logback使用配置详解 1.介绍 Logback是由log4j创始人设计的另一个开源日志组件,它当前分为下面下个模块: logback ...
- Codeforces Round #622 (Div. 2) 1313 A
Tired of boring office work, Denis decided to open a fast food restaurant. On the first day he made ...
- LCA 学习总结
怎么说,LCA裸题直接套板子,大家都会做,这样的题没必要看,剩下的题发先LCA只是一个工具就像是搜索一样,只是一个工具而不是一种算法,所以借助这套工具在其图论问题如最长路,数据结构等问题上再去发挥作用 ...
- 图论--最短路-- Dijkstra模板(目前见到的最好用的)
之前的我那个板子,老是卡内存,不知道为什么,我看别人过的那个题都是结构体,我就开始对自己板子做了修改,然后他奶奶的就过了,而且速度也提高了,内存也小了.(自从用了这个板子,隔壁小孩馋哭了)也不知道为啥 ...
- 洛谷P5018 对称二叉树
不多扯题目 直接题解= = 1.递归 由题目可以得知,子树既可以是根节点和叶节点组成,也可以是一个节点,题意中的对称二叉子树是必须由一个根节点一直到树的最底部所组成的树. 这样一来就简单了,我们很容易 ...
- go 模板详说
模板是我们常用的手段用于动态生成页面,或者用于代码生成器的编写等.比如把数据库的表映射成go语言的struct,这些体力活,写个代码生成器是最合适不过的了. 示例例把表转成 struct : 当然这篇 ...