函数式编程的系统开发
系统名称:名片管理系统
框架搭建:
- 准备文件,确定文件名,保证能够在需要的位置编写代码
- 编写主运行循环,实现基本的用户输入和判断
文件准备
- 新建cards_main.py保存主程序功能代码
程序的入口
每次启动文件都需哟啊通过main这个文件启动 - 新建cards_tools.py保存所有名片功能函数
对名片的新增、查询、修改、删除等功能封装在不同的函数中
编写主运行循环
while True:
action_str = input("请选择希望执行的操作:")
#print("您选择的操作是:【{}】".format(action_str))
print("您选择的操作是:【%s】" %action_str)
#1,2,3 针对名片的操作
if action_str in ["1", "2", "3"]:
# 新增名片
if action_str == "1":
pass
# 显示全部
elif action_str == "2":
pass
# 查询名片
elif action_str == "3":
pass
pass
#0 退出系统
elif action_str == "0":
print("欢迎再次使用【名片管理系统】")
break
# 如果在开发程序时,不希望立刻编写分之内部的代码
# 可以使用pass关键字,表示一个占位符,能够保证程序的代码结构正确!
# 程序运行是,pass关键字不会执行任何操作
# pass
# 其他内容输入错误,需哟啊提示用户
else:
print("您输入的不正确,请重新选择")
总结
- 字符串判断;
使用in进行针对列表判断,避免使用or拼接复杂的逻辑条件
没有使用int转换用户输入,可以避免一旦用户输入的不是数字,导致程序运行出错 - pass占位符
pass是一个空语句,不做任何事情 - 无限循环
由用户决定程序的推出机制和时间
Todo注释
用于提示后面要干的事情
保存名片数据的结构
程序是用来处理数据的,变量是用来存储数据的
使用字典记录名片的详细信息
使用列表统一记录所有名片字典
新增名片的函数;
def new_card():
"""新增名片"""
print("-"*50)
print("新增名片")
# 1. 提示用户输入名片的详细信息
name = input("请输入姓名:")
phone = input("请输入电话:")
qq = input("请输入QQ:")
email = input("请输入邮箱:")
# 2. 使用用户输入的信息建立一个名片字典
card_dict = dict(
name=name,
phone=phone,
qq=qq,
email=email)
# 3. 将名片字典添加到列表中
card_list.append(card_dict)
print(card_list)
# 4. 讲明字典添加到列表中
print("添加%s的名片成功!" % name)
python快速修改变量名:
1. 右击变量名
2. 修改名称
输出完成后不立即换行
# 打印表头
for name in ['姓名', '电话', 'qq', '邮箱']:
# 将列表中的信息进行便利输出,
print(name, end="\t\t")
# 当列表中的数据便利完成后进行换行操作
print("")
删除列表中的元素
def deal_card(find_dict):
print(find_dict)
action_str = input("请选择要执行的操作:"
"[1] 修改 [2] 删除 [0] 返回上级菜单")
if action_str == "1":
print("修改名片")
elif action_str == "2":
card_list.remove(find_dict)
print("删除名片")
LINUX上的Shebang符号(#!)可在终端中直接运行程序,不在需要python3的解释器
#! /usr/bin/python3
import cards_tools