公共方法-四个都适合的方法(基础)
- 字典不可以使用>符号进行比较,不能比较大小
- 加号会生成一个新的列表变量,extend和append方法的区别如下
简单页面管理系统完整代码
- main函数
import tools
"""
写程序,第一步搭建框架
使用模块化搭建
"""
while True:
# 按下ctrl+q查询返回值是什么类型
print("")
tools.show_menu()
action_str = input("请输入你想进行的操作")
if action_str in ["1","2","3"]:
if action_str == "1":
tools.new_card()
elif action_str == "2":
tools.show_all()
elif action_str == "3":
tools.search_card()
# in是成员运算符
elif action_str == "0":
break
# pass
else:
print("你的输入不正确,请重新输入")
# TODO(星) 显示界面
# 使用pass语句可以先保证结构不会出问题
- tools功能函数
# 程序就是用来处理数据的,框架搭建好之后先考虑数据使用什么格式存储
car_list = []
# 菜单显示
def show_menu():
print("*" * 50)
print("欢迎使用名片管理系统")
print("1.新建名片")
print("2.显示全部")
print("3.查询名片")
# print函数默认会有一个换行,所以这里是空
print("")
print("0.退出系统")
print("*" * 50)
# 新建名片
def new_card():
# 1.输入信息
name_str = input("请输入姓名")
phone_str = input("请输入电话")
qq_str = input("请输入qq")
email_str = input("请输入邮箱")
# 2.创建信息,可以使用重命名对代码进行整体修改
studentinfo = {
"name":name_str,
"phone":phone_str,
"qq":qq_str,
"email":email_str
}
# 3.添加信息,使用append添加是一个字典,extend在字典添加这里不行
car_list.append(studentinfo)
# 4.打印信息
print(car_list)
#
#显示全部
def show_all():
# 假如用户没有创建名片,提示用户先创建名片,不执行下面的代码
if len(car_list) == 0:
print("没有添加名片,请先添加!")
return
# 1.打印表头
for head in ["姓名","电话","qq","邮箱"]:
print(head,end="\t\t")
print("")
# 2.打印分割线
print("=" * 50)
# 3.打印内容
for info in car_list:
# 使用下面这种写法也可以
# print("%s\t\t%s\t\t%s\t\t%s\t\t" % (info["name"],info["phone"]))
print(info["name"],end="\t\t")
print(info["phone"],end="\t\t")
print(info["qq"],end="\t\t")
print(info["email"],end="\t\t")
print("")
#查询名片
def search_card():
# 输入想要查询的名字
serch_name = input("请输入想要查询到姓名")
# 如果查到了,打印输出,没有的话,提示没有找到
for info in car_list:
if(info["name"] == serch_name):
print("找到啦")
print("姓名\t\t电话\t\tqq\t\t邮箱\t\t")
print("-" * 50)
print("%s\t\t%s\t\t%s\t\t%s\t\t" % (info["name"], info["phone"],info["qq"],info["email"]))
# 名片处理函数
deal_card(info)
# 将break写在外面,if找到之后出来还是会执行,所以下面的不会执行
break
# 只有当for循环遍历完,没有使用break跳出,才会执行下面的else
else:
print("没有找到%s"%serch_name)
def deal_card(find_card):
"""处理查找到的信息
:param find_card: 查找到的信息
"""
print(find_card)
action_str = input("请输入要执行的操作 "
"【1】修改 【2】删除 【0】返回主菜单")
if action_str == "1":
""""
find_card["name"] = input("姓名:")
find_card["phone"] = input("电话:")
find_card["qq"] = input("qq:")
find_card["email"] = input("邮箱 ")
"""
# 使用input输入怎么判断是回车还是输入了
find_card["name"] = new_input( find_card["name"],"姓名[按下回车不修改]:")
find_card["phone"] = new_input(find_card["phone"],"电话[按下回车不修改]:")
find_card["qq"] = new_input( find_card["qq"],"qq[按下回车不修改]:")
find_card["email"] = new_input(find_card["email"],"邮箱[按下回车不修改]:")
print("修改名片成功")
elif action_str == "2":
# 使用remove方法删除名片
car_list.remove(find_card)
print("删除名片成功")
def new_input(find_card,message):
"""[按下回车不修改]
:param find_card: 原来查找到的信息
:param message: 提示信息
:return: 输入了值就返回值,没有输入返回原来的值
"""
# 提示输入信息
result_str = input(message)
# 如果输入了则修改
if len(result_str) > 0:
return result_str
#没输入则返回原来的值
else:
return find_card
简单页面