修改没有用函数的程序

具有独立功能的代码块

源程序

#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 名片管理系统 -函数版的更多相关文章

  1. day 5 名片管理系统-文件版

    1.添加__name__ == '__main__' if __name__ == "__main__": #添加__name__变量 #调用主函数 main() 2.添加6功能, ...

  2. python案例:实现一个函数版的名片管理系统

    本案例使用了自定义函数以及对字符串的常见操作.判断语句和循环语句等知识. 要求 必须使用自定义函数,完成对程序的模块化. 名片信息至少包括:姓名.电话.住址. 必须完成的功能:增.删.改.查.退出. ...

  3. python3实现名片管理系统(文件版)

    def menu(): #首先定义功能列表函数menu() print(" 名片管理系统 V1.0 ") print("1:增加新用户") print(&quo ...

  4. 一、Python系列——函数的应用之名片管理系统

    card_list = [] def main_desk(): print('*'*50) print('欢迎使用[名片管理系统]V1.0') print('1.新建名片') print('2.显示全 ...

  5. 名片管理系统v1.1(main)

    # version: 1.1# author: Mark import cords_tools while True: # 显示界面    cords_tools.show_cords() cords ...

  6. Python基础综合运用——搭建名片管理系统

    综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ************ ...

  7. python基础提高演练(名片管理系统的开发)

    综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 1. 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ********* ...

  8. python名片管理系统V2

    主程序: #! /usr/bin env python3 # -*- coding: utf-8 -*- # 项目三: # 1.要求:编写一个名片管理系统,功能如下: # 用户输入相对应的指令,实现对 ...

  9. python名片管理系统

    1.代码: (1)主程序 #!/usr/bin/env python # -*- coding: UTF-8 -*- import cards_tools # 无限循环,由用户主动决定什么时候退出循环 ...

随机推荐

  1. maven的pom.xml文件报错问题

    第一次用 Spring Starter Project 创建一个Spring应用时,POM 文件报错: Project build error: Non-resolvable parent POM f ...

  2. 折腾一下WebSocket的ArrayBuffer传输方式

    前言   之前写WebSocket都是基于文本传输的,后来准备升级项目,于是打算尝试一下arraybuffer传输方式,由于是第一次使用javascript处理字符串转arraybuffer,不过真的 ...

  3. PDF压缩,在线压缩免费

    https://smallpdf.com/ 一个很牛逼的网站 https://zh.wikihow.com/ https://zh.wikihow.com/%E9%A6%96%E9%A1%B5

  4. 电脑需要重启才能连上WLAN

    我的笔记本电脑是Windows10 系统,在某次更新后发现这个问题,查资料过程中忽然断网,非要重启才能解决,非常恼人.经过一番研究,发现一个行之有效的解决方法. 1.打开设备管理器. 2.点击网络适配 ...

  5. 修改eclipse中文件打开默认方式

    Window--->prefrence---->Editors----->FileAssociation 选择文件后缀,如果没有就添加,然后在上添加,删除,设置默认打开方式.

  6. Kubernetes(一)--简介

    一.什么是kubernetes(K8s)? Kubernetes作为容器编排生态圈中重要一员,是Google大规模容器管理系统borg的开源版本实现,吸收借鉴了google过去十年间在生产环境上所学到 ...

  7. vim8配置python3补全

    安装Python3 卸载编译安装的python3 rm -rf /usr/local/lib/python3.7/ rm -rf /usr/local/bin/2to3* rm -rf /usr/lo ...

  8. jquery里遍历普通数组和多维数组的方法及实例

    jquery里遍历数组用的是$.each,下面站长给大家几个具体的实例: 实例1.遍历一个普通的一维数组: 1 2 3 4 5 6 7 8 <script> //声明数据有下面两种方式 / ...

  9. HTML5 添加视频和音频(响应式视频)

    最初的 HTML5规范呼吁所有浏览器内置支持使用 Ogg格式① 直接播放视频或音频(无需插件).但是由于 HTML5工作组的内部争议,曾经作为基线标准的支持 Ogg(包括 Theoravideo 和 ...

  10. C# 操作word 模板 值 替换

    1.引用 aspose.words   dll 2.word 使用doc 3.给word 模板中添加要替换位置的 书签 .引用 aspose.words dll .word 使用doc .给word ...