编程题

1、名片管理程序

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

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

card_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、按题目要求依次定义函数,主要涉及的知识点为字典的增、删、改、查操作。

编程实现#!/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 1

i=0

card_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("输入有误,请重新输入...")

运行结果:

python 识别名片 用python编写名片_python 识别名片