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.函数文档说明

时间: 2024-10-18 13:26:58

day 4 函数应用 学生管理系统的相关文章

Golang项目之函数版学生管理系统

前言 学习第3天,基于函数的方式编写小项目:学生管理系统 代码 package main import ( "fmt" "os" ) /* 函数版学生管理系统 写一个系统能够查看所有的学生/新增学生/删除学生 */ var ( allStudent map[int64]*student // 变量声明 ) type student struct{ id int64 name string } // newStudent是一个student类型的构造函数 func n

函数_学生管理系统

1 def print_infos(): 2 print("=" * 30) 3 print("学生管理系统v1.0") 4 print("1.添加学生信息") 5 print("2.删除学生信息") 6 print("3.修改学生信息") 7 print("4.显示学生信息") 8 print("5.退出系统") 9 print("=" * 30

c语言学生管理系统链表(dev vs2012下可以运行)

struct student { char name[10]; char sex[5]; long int num;//学号 int xuhao; int age; float score[3]; float averange; char DJ;//存放等级哦 struct student *next; };//定义结构体变量保存 名字 性别 年龄 成绩] 结构体声明 int n;//存放学生人数 int man;//存放统计的男生数 float JY(float a)//校验成绩使范围0-10

Java 图形界面开发--图文并茂建立学生管理系统

图形用户界面(Graphics User Interface,GUI)是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作. 这是本人在学习java图形界面开发阶段一步一步实现的超级简易的学生管理系统.虽然说不入大神法眼,但这确实是费了自己不少心血.对于我这样的菜鸟来说,考虑不周到,一不小心就Exception,然后就是自己调呀调.在此分享出来希望对和我一样的菜鸟有帮助. 程序完整代码下载地址见: https://github.com/chaohuangtianjie994/The-Sys

学生管理系统c++

#include<iostream> #include<fstream> #include<string> using namespace std; const int nubofCourse = 10;//学生最多可以选修的课程 typedef struct StudentMessage *sMessage;//学生结点指针类型 typedef struct Courses *sCourse;//课程结点指针类型 fstream foutint;//文件导入导出 /*

【IOS开发笔记02】学生管理系统

端到端的机会 虽然现在身处大公司,但是因为是内部创业团队,产品.native.前端.服务器端全部坐在一起开发,大家很容易做零距离交流,也因为最近内部有一个前端要转岗过来,于是手里的前端任务好像可以抛一大坨出去了,这个时候立刻想到了切入IOS开发!!! 事实上,前端开发做到一定时间,要进步很难了,最近几个月扑到业务上便感觉突破不了目前的瓶颈,自身的前端瓶颈主要在两方面:技术深度.技术广度 其实不论深度或者广度来说都不是简单前端能说清楚的事情,不能说了解了angularJS.react等框架技术深度

链表+文件 一个初学者实现学生管理系统的心得

其实,用链表与文件写学生管理系统内容可分为两大模块: 模块一:一个完整的创建.遍历.添加.删除.修改的链表: 模块二:读取/写入数据到文件. 模块一 一个链表,主要是malloc的正确使用. 定义一个带有结构指针的结构体,用malloc()动态开辟一个该结构体大小的内存用来作为节点,储存多个平行数据并且每动态开辟一个内存就要用这个内存里面的结构指针指向下一个开辟的内存(如果停止动态开辟内存,则需让这个指针指向NULL,作为Programmer都知道指针的潜在危险).这个节点数量需用循环控制.ma

基于双向循环链表的学生管理系统

基于双向循环链表实现的学生管理系统,包括初始化,插入,删除,查抄,保存,自动按照姓名排序功能,退出并保存功能. 实现思想是将程序的各个部分划分为三个层次.主函数为界面层,即客户端层:其中后缀为Student的一般是某个功能的调度函数,属于逻辑层的内容:在调度函数之下有相应的被调度的函数,也就是相应功能的实现函数,一般后缀名为Node,意思就是这个函数直接操作链表中的结点,可以简单的划分为实现层: 这样分层实现呢有利于代码维护和个功能之间对包含或者重叠功能的直接调用,从而提高代码重用度,而降低代码

学生管理系统——基于双向循环链表

基于双向循环链表实现的学生管理系统,包括初始化,插入,删除,查抄,保存,自动按照姓名排序功能,退出并保存功能. 实现思想是将程序的各个部分划分为三个层次.主函数为界面层,即客户端层:其中后缀为Student的一般是某个功能的调度函数,属于逻辑层的内容:在调度函数之下有相应的被调度的函数,也就是相应功能的实现函数,一般后缀名为Node,意思就是这个函数直接操作链表中的结点,可以简单的划分为实现层: 这样分层实现呢有利于代码维护和个功能之间对包含或者重叠功能的直接调用,从而提高代码重用度,而降低代码