day 4 名片管理系统 -函数版
修改没有用函数的程序
具有独立功能的代码块
源程序
#1.打印功能信息
print("*"*50)
print("\t名片管理系统 V3\t")
print("1:添加一个名片")
print("2:删除一个名片")
print("3:修改一个名片")
print("4:查询一个名片")
print("5:显示所有")
print("6:退出系统")
print("*"*50) #定义一个新的list列表,用来存储名片
card_infors = []
while True:
#2.获取用户的输入
num = int(input("请输入你要的功能:")) #3.根据用户的输入,执行相应的功能
if num == 1:
new_name = input("你要添加的姓名:")
new_age = input("你要添加的年龄:")
new_qq = input("你要添加的qq:")
new_addr = input("你要添加的地址:") #定义1个新的字典dict,用来存储新的名片
new_infor = {}
new_infor["name"] = new_name
new_infor["age"] = new_age
new_infor["qq"] = new_qq
new_infor["addr"] = new_addr #将1个字典dict添加到列表list
card_infors.append(new_infor) #print(card_infors) #for test 测试用的 elif num == 2:
pass
elif num == 3:
pass elif num == 4:
find_name = input("请输入你要查询的名字:")
flag = 0 #默认 没有查到此人
for tmp in card_infors:
if find_name in tmp["name"]:
print("%s\t%s\t%s\t%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
flag = 1 #表示查到此人了
break
#判断是否找到了
if flag == 0:
print("查无此人") elif num == 5:
print("姓名\t年龄\tqq号\t地址")
for tmp in card_infors:
print("%s\t%s\t%s\t%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
elif num == 6:
break
else:
print("你输入的有误,请重新输入") print("")
1.版本1:打印菜单功能
刚开始写程序一刹那就用函数
改一点,实验一下
def print_menu():
print("*"*50)
print("\t名片管理系统 V3\t")
print("1:添加一个名片")
print("2:删除一个名片")
print("3:修改一个名片")
print("4:查询一个名片")
print("5:显示所有")
print("6:退出系统")
print("*"*50) # 1.打印功能信息
print_menu() #定义一个新的list列表,用来存储名片
card_infors = []
while True:
#2.获取用户的输入
num = int(input("请输入你要的功能:")) #3.根据用户的输入,执行相应的功能
if num == 1:
new_name = input("你要添加的姓名:")
new_age = input("你要添加的年龄:")
new_qq = input("你要添加的qq:")
new_addr = input("你要添加的地址:") #定义1个新的字典dict,用来存储新的名片
new_infor = {}
new_infor["name"] = new_name
new_infor["age"] = new_age
new_infor["qq"] = new_qq
new_infor["addr"] = new_addr #将1个字典dict添加到列表list
card_infors.append(new_infor) #print(card_infors) #for test 测试用的 elif num == 2:
pass
elif num == 3:
pass elif num == 4:
find_name = input("请输入你要查询的名字:")
flag = 0 #默认 没有查到此人
for tmp in card_infors:
if find_name in tmp["name"]:
print("%s\t%s\t%s\t%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
flag = 1 #表示查到此人了
break
#判断是否找到了
if flag == 0:
print("查无此人") elif num == 5:
print("姓名\t年龄\tqq号\t地址")
for tmp in card_infors:
print("%s\t%s\t%s\t%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
elif num == 6:
break
else:
print("你输入的有误,请重新输入") print("")
2.版本2:
新定义的函数:需不需要参数 ,需要几个
需不需要返回值,需要返回什么样的值
#定义一个新的list列表,用来存储名片
card_infors = [] def print_menu():
print("*"*50)
print("\t名片管理系统 V3\t")
print("1:添加一个名片")
print("2:删除一个名片")
print("3:修改一个名片")
print("4:查询一个名片")
print("5:显示所有")
print("6:退出系统")
print("*"*50) def add_new_card_infor():
new_name = input("你要添加的姓名:")
new_age = input("你要添加的年龄:")
new_qq = input("你要添加的qq:")
new_addr = input("你要添加的地址:") #定义1个新的字典dict,用来存储新的名片
new_infor = {}
new_infor["name"] = new_name
new_infor["age"] = new_age
new_infor["qq"] = new_qq
new_infor["addr"] = new_addr #将1个字典dict添加到列表list
global card_infors
card_infors.append(new_infor)
#print(card_infors) #for test 测试用的 # 1.打印功能信息
print_menu() while True:
#2.获取用户的输入
num = int(input("请输入你要的功能:")) #3.根据用户的输入,执行相应的功能
if num == 1:
add_new_card_infor() elif num == 2:
pass
elif num == 3:
pass elif num == 4:
find_name = input("请输入你要查询的名字:")
flag = 0 #默认 没有查到此人
for tmp in card_infors:
if find_name in tmp["name"]:
print("%s\t%s\t%s\t%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
flag = 1 #表示查到此人了
break
#判断是否找到了
if flag == 0:
print("查无此人") elif num == 5:
print("姓名\t年龄\tqq号\t地址")
for tmp in card_infors:
print("%s\t%s\t%s\t%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
elif num == 6:
break
else:
print("你输入的有误,请重新输入") print("")
3.函数文档说明
"""函数说明文档,可以写上函数的功能,以防止后面遗忘"""
4.版本3:添加函数说明 文档
#定义一个新的list列表,用来存储名片
card_infors = [] def print_menu():
"""完成打印功能"""
print("*"*50)
print("\t名片管理系统 V3\t")
print("1:添加一个名片")
print("2:删除一个名片")
print("3:修改一个名片")
print("4:查询一个名片")
print("5:显示所有")
print("6:退出系统")
print("*"*50) def add_new_card_infor():
"""完成添加新名片功能"""
new_name = input("你要添加的姓名:")
new_age = input("你要添加的年龄:")
new_qq = input("你要添加的qq:")
new_addr = input("你要添加的地址:") #定义1个新的字典dict,用来存储新的名片
new_infor = {}
new_infor["name"] = new_name
new_infor["age"] = new_age
new_infor["qq"] = new_qq
new_infor["addr"] = new_addr #将1个字典dict添加到列表list
global card_infors
card_infors.append(new_infor)
#print(card_infors) #for test 测试用的 def find_card_infor():
"""完成查询1个名片的功能"""
global card_infors #全局变量一般声明在开头 find_name = input("请输入你要查询的名字:")
flag = 0 #默认 没有查到此人
for tmp in card_infors:
if find_name in tmp["name"]:
print("%s\t%s\t%s\t%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
flag = 1 #表示查到此人了
break
#判断是否找到了
if flag == 0:
print("查无此人") def show_card_infor():
"""完成显示名片"""
global card_infors #全局变量一般声明在开头 print("姓名\t年龄\tqq号\t地址")
for tmp in card_infors:
print("%s\t%s\t%s\t%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"])) # 1.打印功能信息
print_menu() while True:
#2.获取用户的输入
num = int(input("请输入你要的功能:")) #3.根据用户的输入,执行相应的功能
if num == 1:
add_new_card_infor() elif num == 2:
pass
elif num == 3:
pass
elif num == 4:
find_card_infor() elif num == 5:
show_card_infor() elif num == 6:
break
else:
print("你输入的有误,请重新输入") print("")
5.版本4.main主函数
#定义一个新的list列表,用来存储名片
card_infors = [] def print_menu():
"""完成打印功能"""
print("*"*50)
print("\t名片管理系统 V3\t")
print("1:添加一个名片")
print("2:删除一个名片")
print("3:修改一个名片")
print("4:查询一个名片")
print("5:显示所有")
print("6:退出系统")
print("*"*50) def add_new_card_infor():
"""完成添加新名片功能"""
new_name = input("你要添加的姓名:")
new_age = input("你要添加的年龄:")
new_qq = input("你要添加的qq:")
new_addr = input("你要添加的地址:") #定义1个新的字典dict,用来存储新的名片
new_infor = {}
new_infor["name"] = new_name
new_infor["age"] = new_age
new_infor["qq"] = new_qq
new_infor["addr"] = new_addr #将1个字典dict添加到列表list
global card_infors
card_infors.append(new_infor)
#print(card_infors) #for test 测试用的 def find_card_infor():
"""完成查询1个名片的功能"""
global card_infors
find_name = input("请输入你要查询的名字:")
flag = 0 #默认 没有查到此人
for tmp in card_infors:
if find_name in tmp["name"]:
print("%s\t%s\t%s\t%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
flag = 1 #表示查到此人了
break
#判断是否找到了
if flag == 0:
print("查无此人") def show_card_infor():
"""完成显示名片"""
global card_infors
print("姓名\t年龄\tqq号\t地址")
for tmp in card_infors:
print("%s\t%s\t%s\t%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"])) def main():
'''完成对整个程序的控制'''
# 1.打印功能信息
print_menu() while True:
#2.获取用户的输入
num = int(input("请输入你要的功能:")) #3.根据用户的输入,执行相应的功能
if num == 1:
add_new_card_infor() elif num == 2:
pass
elif num == 3:
pass
elif num == 4:
find_card_infor() elif num == 5:
show_card_infor() elif num == 6:
break
else:
print("你输入的有误,请重新输入") print("") #调用主函数
main()
6.主要流程
7.列表和字典可以当做全局变量来用
可以不用global ,但是建议用global
nums = [11,22,33]
infor = {"name":"alex"} def test():
#for num in nums:
# print(num)
nums.append(44)
infor["age"] = 18 def test2():
print(nums)
print(infor) test()
test2()
day 4 名片管理系统 -函数版的更多相关文章
- day 5 名片管理系统-文件版
1.添加__name__ == '__main__' if __name__ == "__main__": #添加__name__变量 #调用主函数 main() 2.添加6功能, ...
- python案例:实现一个函数版的名片管理系统
本案例使用了自定义函数以及对字符串的常见操作.判断语句和循环语句等知识. 要求 必须使用自定义函数,完成对程序的模块化. 名片信息至少包括:姓名.电话.住址. 必须完成的功能:增.删.改.查.退出. ...
- python3实现名片管理系统(文件版)
def menu(): #首先定义功能列表函数menu() print(" 名片管理系统 V1.0 ") print("1:增加新用户") print(&quo ...
- 一、Python系列——函数的应用之名片管理系统
card_list = [] def main_desk(): print('*'*50) print('欢迎使用[名片管理系统]V1.0') print('1.新建名片') print('2.显示全 ...
- 名片管理系统v1.1(main)
# version: 1.1# author: Mark import cords_tools while True: # 显示界面 cords_tools.show_cords() cords ...
- Python基础综合运用——搭建名片管理系统
综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ************ ...
- python基础提高演练(名片管理系统的开发)
综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 1. 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ********* ...
- python名片管理系统V2
主程序: #! /usr/bin env python3 # -*- coding: utf-8 -*- # 项目三: # 1.要求:编写一个名片管理系统,功能如下: # 用户输入相对应的指令,实现对 ...
- python名片管理系统
1.代码: (1)主程序 #!/usr/bin/env python # -*- coding: UTF-8 -*- import cards_tools # 无限循环,由用户主动决定什么时候退出循环 ...
随机推荐
- POJ2720 Last Digits
嘟嘟嘟 一道题又写了近两个点-- 这道题直接暴力快速幂肯定会爆(别想高精),所以还是要用一点数学知识的- 有一个东西叫欧拉降幂公式,就是: \(x ^ y \equiv x ^ {y \ \ ...
- session.upload_progress.enabled开启的问题
exp.php的内容,存在文件包含 <?php include($_GET['lfi']); $key = ini_get("session.upload_progress.prefi ...
- 20165302 实验一 java开发环境的熟悉
20165302实验一 java开发环境的熟悉 一,实验内容与步骤 1.命令行下java程序开发 ①待编译运行代码 package csj; import java.util.Scanner; pub ...
- ubuntu 14.04 将窗体button移到右边
刚刚安装了Ubuntu 14.04,想改动窗体button的位置.但依照曾经的办法发现不行了,在gconftool-->apps中找不到metacity. 多方查找后找到解决方式,例如以下 Ub ...
- java 进销存 crm 客户管理 库存管理 商户管理 springmvc SSM 项目
系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM ...
- 项目中常用的MySQL优化方法--壹拾玖条
1.EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划. 下面来个简单的示例,标注(1.2.3.4.5)我们要重点关注的数据: type列,连接类型.一个好的SQL语句至少要 ...
- 线程队列-queue
使用队列的目的: 解耦,使程序之间实现松耦合:提高处理效率 FIFO = 先进先出,first in first out LIFO = 后入先出,last in first out 生产者消费 ...
- iOS下ajax回调函数里不能播放audio
iOS下audio必须监测到事件才可播放, ajax回调函数里不能播放 解决办法 在点击方法里先播放然后立即暂停,在回调函数里重新播放 onclick(function(){ $("#_wx ...
- Read a large file with python
python读取大文件 较pythonic的方法,使用with结构 文件可以自动关闭 异常可以在with块内处理 with open(filename, 'rb') as f: for line in ...
- css布局-内容自适应屏幕
css页面布局,实现内容部分自适应屏幕,当内容高度小于浏览器窗口高度时,页脚在浏览器窗口底部:当内容高度高于浏览器窗口高度时,页脚自动被撑到页面底部. <style type="tex ...