day 4 名片管理系统 -函数版

修改没有用函数的程序

具有独立功能的代码块

源程序

#1.打印功能信息
print("*"*50)
print("	名片管理系统 V3	")
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	%s	%s	%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
                flag = 1   #表示查到此人了
                break
         #判断是否找到了   
        if flag == 0:
            print("查无此人")

    elif num == 5:
        print("姓名	年龄	qq号	地址")
        for tmp in card_infors:
            print("%s	%s	%s	%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
    elif num == 6:
        break
    else:
        print("你输入的有误,请重新输入")

    print("")
View Code

1.版本1:打印菜单功能

刚开始写程序一刹那就用函数

改一点,实验一下

def print_menu():
    print("*"*50)
    print("	名片管理系统 V3	")
    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	%s	%s	%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
                flag = 1   #表示查到此人了
                break
         #判断是否找到了   
        if flag == 0:
            print("查无此人")

    elif num == 5:
        print("姓名	年龄	qq号	地址")
        for tmp in card_infors:
            print("%s	%s	%s	%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("	名片管理系统 V3	")
    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	%s	%s	%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
                flag = 1   #表示查到此人了
                break
         #判断是否找到了   
        if flag == 0:
            print("查无此人")

    elif num == 5:
        print("姓名	年龄	qq号	地址")
        for tmp in card_infors:
            print("%s	%s	%s	%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("	名片管理系统 V3	")
    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	%s	%s	%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
            flag = 1   #表示查到此人了
            break
     #判断是否找到了   
    if flag == 0:
        print("查无此人")

def show_card_infor():
    """完成显示名片""" 
    global card_infors               #全局变量一般声明在开头

    print("姓名	年龄	qq号	地址")
    for tmp in card_infors:
        print("%s	%s	%s	%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("	名片管理系统 V3	")
    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	%s	%s	%s"%(tmp["name"],tmp["age"],tmp["qq"],tmp["addr"]))
            flag = 1   #表示查到此人了
            break
     #判断是否找到了   
    if flag == 0:
        print("查无此人")

def show_card_infor():
    """完成显示名片"""
    global card_infors
    print("姓名	年龄	qq号	地址")
    for tmp in card_infors:
        print("%s	%s	%s	%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()

     

原文地址:https://www.cnblogs.com/venicid/p/7862720.html