利用一个名片管理系统,总结python的基础课件,能够把此程序写完,基本python基础可以结业
废话不多说,先上第一个主程序
#! /Library/Frameworks/Python.framework/Versions/3.8/bin/python3
import py_card_tools
while True:
py_card_tools.nav()
action = input("请输入您要执行的功能:")
if action == "1":
print("您选择的功能是【新建名片】")
py_card_tools.new_card_def()
elif action == "2":
print("您选择的功能是【显示全部】")
py_card_tools.look_card()
elif action == "3":
print("您选择的功能是【查找名片】")
py_card_tools.find_card()
elif action == "0":
print("欢迎再次使用")
break
else:
print("输入有误,请重新输入")
接下来开始上工具代码
new_card = [] # 建立一个空列表容纳新增名片成员
def nav():
""""菜单"""
print("*" * 88)
print("欢迎使用【名片管理系统】V1.0")
print("1.新建名片")
print("2.显示全部")
print("3.查找名片")
print("")
print("0.退出系统")
print("*" * 88)
def new_card_def():
""""新建名片功能"""
new_dict = {"name": input("请输入姓名"),
"age": input("请输入年龄"),
"height": input("请输入身高"),
"tell": input("请输入电话"),
"email": input("请输入邮箱")}
new_card.append(new_dict)
print("恭喜您增加【%s】的名片成功" % new_dict["name"])
def look_card():
""""查看所有名片"""
if len(new_card) == 0: # 用来判断列表内是否存在数据
print("暂无名片,请先使用建立名片功能")
else:
for k in new_card:
print("姓名\t\t年龄\t\t身高\t\t电话\t\t邮箱")
print("-" * 88)
print("%s\t\t%s\t\t%s\t\t%s\t\t%s" % (k["name"],
k["age"],
k["height"],
k["tell"],
k["email"]))
print("-" * 88)
def find_card():
""""查找名片"""
""""功能缺陷:当出现重名是,只能搜索出来第一个"""
find_name = input("请输入您要查找的姓名")
for k in new_card:
# if find_name in k["name"]:
if k["name"] == find_name:
print("姓名\t\t年龄\t\t身高\t\t电话\t\t邮箱")
print("-" * 88)
print("%s\t\t%s\t\t%s\t\t%s\t\t%s" % (k["name"],
k["age"],
k["height"],
k["tell"],
k["email"]))
print("【%s】的名片找到了" % k["name"])
print("-" * 88)
chuli_card(k)
break
else:
print("您查找的名片不存在,请核实后在查找")
def chuli_card(def_card):
""""如果查找到的名片"""
action_card = input("1.修改名片:\t2.删除名片:\t其它任意键返回上级菜单")
# 缺陷:在此处无法退出系统
if action_card == "1":
def_card["name"] = find_card_info(def_card["name"], "请输入姓名[如无需修改直接按回车键]")
def_card["age"] = find_card_info(def_card["age"], "请输入年龄[如无需修改直接按回车键]")
def_card["height"] = find_card_info(def_card["height"], "请输入身高[如无需修改直接按回车键]")
def_card["tell"] = find_card_info(def_card["tell"], "请输入电话[如无需修改直接按回车键]")
def_card["email"] = find_card_info(def_card["email"], "请输入邮箱[如无需修改直接按回车键]")
print("【%s】的名片修改成功" % def_card["name"])
elif action_card == "2":
new_card.pop(new_card.index(def_card))
print("【%s】的名片删除成功" % def_card["name"])
else:
pass
def find_card_info(old_str, new_str):
""""判断需要修改的内容"""
input_str = input(new_str)
if len(input_str) > 0:
return input_str
else:
return old_str
说说写这个程序练习的知识点:
1、列表的使用:增(新建名片),删(删除名片),改(修改名片),查(查看全部)
2、字典的使用:用来储存名片信息,主要用到名片的修改功能
3、函数的使用(def),昨晚找个程序发现函数真的很重要,多次踩坑都是对函数的不够熟悉(主要表现在查找名片到名片后的操作)
函数是重中之重啊!
通过找个程序,再次磨练了自己学习Python的决心。世上无事不可为!
python基础课程免费分享,有需要的朋友可以留言。