文件_学生管理系统

  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("6.退出系统")
 10     print("=" * 30)
 11 
 12 
 13 def add_infos():
 14     print("添加学生信息")
 15     dict_1 = {}  # 定义一个字典,用于保存每个学生的基本信息
 16     name = input("请输入学生姓名:")  # 接收学生的姓名
 17     sex = input("请输入性别(男/女):")  # 接收学生的性别
 18     iphone = input("请输入手机号码:")  # 接收学生的手机号码
 19     dict_1["name"] = name  # 字典,利用键来添加值,添加的是一对键值对
 20     dict_1["sex"] = sex  # 字典,利用键来添加值,添加的是一对键值对
 21     dict_1["iphone"] = iphone  # 字典,利用键来添加值,添加的是一对键值对
 22     student_infos.append(dict_1)  # 把字典作为一个元素追回到全局变量的列表中
 23 
 24 
 25 def del_infos():
 26     print("删除学生信息")
 27     num_02 = int(input("请输入要删除的学生序号:"))
 28     # print("%s 已被删除" % student_infos[num_02-1]["name"])
 29     # del student_infos[num_02-1]   # 直接删除列表中对应下标位置的元素
 30     print(student_infos.pop(num_02 - 1))  # pop 删除列表中对应下标位置的元素并把元素的信息抛出
 31 
 32 
 33 def modify_infos():
 34     print("修改学生信息")
 35     # show_infos()
 36     num_01 = int(input("请输入要修改的学生序号:"))
 37     name = input("请输入新的姓名(回车不修改):")
 38     if len(name) != 0:
 39         student_infos[num_01 - 1]["name"] = name
 40     sex = input("请输入新的性别(回车不修改):")
 41     if len(sex) != 0:
 42         student_infos[num_01 - 1]["sex"] = sex
 43     iphone = input("请输入新的电话号码(回车不修改):")
 44     if len(iphone) != 0:
 45         student_infos[num_01 - 1]["iphone"] = iphone
 46 
 47 
 48 def show_infos():
 49     print("显示所有学生信息")
 50     print("@" * 30)
 51     # print("序号\t姓名\t性别\t手机号码")
 52     print("{0:<4}{1:<6}{2:<4}{3:<11}".format("序号", "姓名", "性别", "手机号码"))
 53     i = 1
 54     for temp in student_infos:
 55         # print(i, temp["name"].center(4), temp["sex"].center(4), temp["iphone"].center(6))
 56         print("{0:#<6}{1:#<7}{2:#<4}{3:#<11}".format(i, temp["name"], temp["sex"], temp["iphone"]))
 57         i += 1
 58     print("@" * 30)
 59     return "信息显示完毕"
 60 
 61 def save_date_file():
 62     print("保存数据至文件")
 63     global student_infos   # 声明当前使用的是全局变量
 64     file = open("info.txt", "w")  # 以只写模式打开文件
 65     file.write(str(student_infos))   # 将列表的内容写到文件中
 66     file.close()   # 将文件关闭
 67 
 68 def recover():
 69     print("恢复文件的数据至当前操作中")
 70     global student_infos  # 声明此时使用的是全局变量
 71     file = open("info.txt", "r")  # 只读模式打开文件
 72     content = file.read()  # 将文件中的全部内容读出来
 73     student_infos = eval(content)   # 还原列表原来的样子
 74     file.close()
 75 
 76 student_infos = [{"name": "曹操", 'sex': "", 'iphone': "11232323232 "}, {"name": "刘备", "sex": "", "iphone": "12345678908"}]  # 定义在文件中,函数的外边,全局变量recover()
 77 while True:
 78     print_infos()
 79     num = input("请输入您要选择的操作:")
 80     if num == "1":
 81         add_infos()
 82     elif num == "2":
 83         del_infos()
 84     elif num == "3":
 85         modify_infos()
 86     elif num == "4":
 87         result = show_infos()
 88         print(result)
 89         choice = input("还要继续使用学生管理系统吗?")
 90         if choice == "y" or choice == "Y":
 91             continue
 92         else:
 93             break
 94     elif num == "5":
 95         save_date_file()
 96     elif num == "6":
 97         get = input("请再次确认是否退出? (y/n):")
 98         if get == "y" or get == "Y":
 99             print("退出系统,本次服务结束。")
100             break  # 跳出循环退出系统
101         else:
102             continue
103     else:
104         print("输入错误,请重新输入。")
105 
106 """
107 函数,先定义后调用。
108 函数调用,函数名()
109 a = func
110 a()
111 func()
112 def  函数名  (参数1,参数2,参数n):   # 无参数括号不能省略
113       代码块
114       return表达式
115 
116 函数的返回值三种情况:
117 1.无return  :返回None
118 2.return   一个值 :返回一个值,接收这个值的变量的数据类型就是返回值的类型
119 3.return a,b   :  返回一个元组,(a,b)
120 """
121 # def func(a, b):
122 #     c = a + b
123 #     return c, a, b
124 #
125 #
126 # result = func("aa", "cc")
127 # print(result)
128 # print(type(result))

 

posted @ 2020-03-23 16:24  吹散思绪  阅读(155)  评论(0编辑  收藏  举报