Python 的语法比C++与C都要简单许多,那么如果用Python来写数据结构的算法又是怎样的呢?
使用自定义函数,开发一个学生管理系统,该系统具有的功能:添加学生信息、删除学生信息、修改学生信息、显示学生信息、退出系统等功能
利用函数完成对系统功能的模块化。其中,学生信息包含:姓名、性别、手机号。
def Studengt_message_choose(number):
if number < 0 or number > 4:
print("输入错误!请重新输入!")
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
if number == 1:
f = open("C:\\Users\\86080\\Desktop\\学生管理系统.txt",encoding='gbk', mode='r')
contents = f.readlines()
bufft = "".join(list(map(str,contents)))
content_last = bufft.rstrip("\n")
print(content_last)
f.close()
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
if number == 2:
Student_message_list = []
print("请输入您想要添加的学生信息,其中包括:姓名,性别,电话号码")
print("按Q结束")
Student_name = input("请输入姓名:")
if Student_name == "Q":
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
else:
f = open("C:\\Users\\86080\\Desktop\\学生管理系统.txt",encoding='gbk', mode='a')
#注意要修改成自己的路径
count_sex = 1
count_phone_number = 1
while count_sex:
Student_sex = input("请输入性别:")
if Student_sex != "男" and Student_sex != "女":
print("输入错误!请输入男或女!")
else:
count_sex -= 1
while count_phone_number:
Student_phone_number = input("请输入电话号码:")
if len(Student_phone_number) != 11:
print("输入错误!不符合号码规则!")
else:
# Student_message_list.append("\n")
Student_message_list.append(Student_name)
Student_message_list.append(" ")
Student_message_list.append(Student_sex)
Student_message_list.append(" ")
Student_message_list.append(Student_phone_number)
Student_message_list.append("\n")
f.writelines(Student_message_list)
f.close()
count_phone_number -= 1
print("录入成功!继续接下来的操作吧!")
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
if number == 3:
print("按Q结束")
Student_name = input("请输入您想删除的学生姓名:")
if Student_name == "Q":
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
else:
f_read = open("C:\\Users\\86080\\Desktop\\学生管理系统.txt",encoding='gbk', mode='r')
transit = ""
count_line = 0
count_line_del = 0
for line in f_read:
if Student_name in line:
count_line += 1
count_line_del = count_line
continue
else:
count_line += 1
transit += line
if count_line_del == 0:
print("未查找到相应学生!")
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
else:
f_read.close()
f_write = open("C:\\Users\\86080\\Desktop\\学生管理系统.txt",encoding='gbk', mode='w')
f_write.write(transit)
f_write.close()
print("删除成功!")
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
if number == 4:
print("按Q结束")
Student_name = input("请输入您想修改的学生姓名:")
if Student_name == "Q":
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
f_read = open("C:\\Users\\86080\\Desktop\\学生管理系统.txt", encoding='gbk', mode='r')
Student_message_update_list = []
count_update = 0
for i in f_read:
Student_message_update_list.append(i)
f_read.close()
count_update_last = 0
for update_message in Student_message_update_list:
if Student_name in update_message:
count_update += 1
count_update_last = count_update
break
else:
count_update += 1
if count_update_last == 0:
print("未查找到相应学生!")
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
else:
update = input("请输入您要修改的信息(姓名/性别/电话号码):")
if update == "Q":
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
if update == "姓名":
update_new = input("请输入修改后的姓名:")
if update_new == "Q":
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
file_data = ""
with open("C:\\Users\\86080\\Desktop\\学生管理系统.txt", encoding='gbk', mode='r')as f:
for line in f:
if Student_name in line:
line = line.replace(Student_name,update_new)
file_data += line
with open("C:\\Users\\86080\\Desktop\\学生管理系统.txt", "w", encoding='gbk') as f:
f.write(file_data)
f.close()
if update == "性别":
while 1:
update_sex_old = input("请输入修改前的性别:")
if update_sex_old == "Q":
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
elif update_sex_old != "男" and update_sex_old != "女":
print("输入错误请重新输入!")
else:
break
while 1:
update_sex = input("请输入修改后的性别:")
if update_sex == "Q":
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
if update_sex != "男" and update_sex != "女":
print("输入错误请重新输入!")
else:
break
file_data_sex = ""
with open("C:\\Users\\86080\\Desktop\\学生管理系统.txt", encoding='gbk', mode='r') as f_sex:
for line in f_sex:
if Student_name in line:
line = line.replace(update_sex_old,update_sex)
file_data_sex += line
with open("C:\\Users\\86080\\Desktop\\学生管理系统.txt", "w", encoding='gbk') as f_write_sex:
f_write_sex.write(file_data_sex)
f_write_sex.close()
if update == "电话号码":
while 1:
update_phone_old = input("请输入修改前的电话号码:")
if update_phone_old == "Q":
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
if len(update_phone_old) != 11:
print("输入错误!不符合号码规则!")
if len(update_phone_old) == 11:
update_phone = input("请输入修改后的电话号码:")
if update_phone == "Q":
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
if len(update_phone) != 11:
print("输入错误!不符合号码规则!")
if len(update_phone) == 11:
break
file_data_phone = ""
with open("C:\\Users\\86080\\Desktop\\学生管理系统.txt", encoding='gbk', mode='r') as f_phone:
for line in f_phone:
if Student_name in line:
line = line.replace(update_phone_old, update_phone)
file_data_phone += line
with open("C:\\Users\\86080\\Desktop\\学生管理系统.txt", "w", encoding='gbk') as f_write_phone:
f_write_phone.write(file_data_phone)
f_write_phone.close()
print("修改成功!")
number_new = int(input("请选择:"))
Studengt_message_choose(number_new)
if number == 0:
print("退出成功!")
exit(0)
print("欢迎来到学生管理系统!")
print("0.退出系统")
print("1.查看学生信息")
print("2.添加学生信息")
print("3.删除学生信息")
print("4.修改学生信息")
number = int(input("请选择:"))
Studengt_message_choose(number)