编程题

1、名片管理程序

现需制作-一个名片管理器程序,能够实现名片的增删改查功能,每张名片主要内容有:姓名、职位、住址。程序若未退出前,则一直循环运行。

程序编写要求: 按要求定义8个函数,并实现相应功能,提供的部分代码如下所示:

i=0card_dict = {} #保存数据while i < 1: #打印菜单 display_menu ()#函数1 #等待用户选择 key = get_choice() #函 数2 if key == 1: add_info()#函数3 elif key == 2: del_info()#函数4 elif key == 3: revise_info() #函数5 elif key == 4: seek_info()#函数6 elif key == 5: print_all_info() #函数7 elif key == 6: i=exit_menu()#函数8 else: print("输入有误,请重新输入...")编程思路

1、从题目要求看,程序中采用字典card_dict存储名片信息,其中每张名片内容为姓名、职位、住址,也是一个字典信息。因此我们采用字典的嵌套,作为数据的存储结构。将姓名作为字典的Key值,其他信息作为字典的Value值。如{张三:{职位:工程师,住址:深圳}}

2、按题目要求依次定义函数,主要涉及的知识点为字典的增、删、改、查操作。

编程实现

[CommShow]

#!/usr/bin/env python3 # -*- coding: utf-8 -*-# @Author : 青松# @Time : 2020/4/9 9:11# @Site : www.itclub16.com#显示目录def display_menu(): print("-"*20) print("\t名片管理系统 V1.0\n"\ "1.添加名片\n"\ "2.删除名片\n"\ "3.修改名片\n"\ "4.查询名片\n"\ "5.获取所有名片信息\n"\ "6.退出系统") print("-"*20)#获取选择的序号def get_choice(): key=int(input("请输入选择的序号:")) return key#新增名片信息def add_info(): newName = input("请输入姓名:") newJob = input("请输入职位:") newAdd = input("请输入住址:") #将姓名作为字典的key,其他信息(字典)作为字典的value newInfo={} #定义字典 newInfo["job"]= newJob newInfo["add"]= newAdd #判断名片中是否已存在 if newName not in card_dict.keys(): card_dict[newName]=newInfo else: print("该名片已存在!")#删除名片信息def del_info(): delName=input("请输入要删除的名片:") if delName in card_dict.keys(): del card_dict[delName] else: print("该名片不存在!")#修改名片信息def revise_info(): cardSel=input("请输入要修改的名片姓名:") if cardSel in card_dict.keys(): while True: numSel=int(input("选择要修改的内容:1:职位 2:住址 0:结束修改")) if numSel == 1: card_dict[cardSel]["job"]=input("请输入新的职位:") elif numSel ==2: card_dict[cardSel]["add"] = input("请输入新的住址:") else: break else: print("该名片不存在!")#查询名片信息def seek_info(): seekName=input("请输入要查询的名片姓名") #判断是否在名片内 if seekName in card_dict.keys(): print("*"*20) print("姓名 职位 住址") print("*" * 20) print("%s\t%s\t%s" % (seekName,card_dict[seekName]["job"],card_dict[seekName]["add"],)) print("*" * 20) else: print("未查询到该名片!")#获取所有名片信息def print_all_info(): print("所有名片信息如下:") print("*"*20) print("姓名 职位 住址") print("*"*20) for cardname,cardinfo in card_dict.items(): print("%s\t%s\t%s"%(cardname,cardinfo["job"],cardinfo["add"])) print("*" * 20)#退出系统def exit_menu(): print("退出系统") return 1i=0card_dict = {} #保存数据while i < 1: #打印菜单 display_menu ()#函数1 #等待用户选择 key = get_choice() #函 数2 if key == 1: add_info()#函数3 elif key == 2: del_info()#函数4 elif key == 3: revise_info() #函数5 elif key == 4: seek_info()#函数6 elif key == 5: print_all_info() #函数7 elif key == 6: i=exit_menu()#函数8 else: print("输入有误,请重新输入...")[/CommShow]

运行结果:

制作个人卡片python 个人名片制作程序python_保存数据