用python写的简易学生信息管理系统

用python写的一个菜鸟级学生信息管理系统

** 小白用来练手的,想完成期末作业的还是去找大佬吧!
欢迎指出不足!!**

无文件操作

print('*********欢迎使用学生信息管理系统!*********')
print('********************************************')
print('*              1.新建学生信息              *')
print('*              2.显示全部信息              *')
print('*              3.查询学生信息              *')
print('*              4.删除学生信息              *')
print('*              5.修改学生信息              *')
print('*              0.退出                      *')
print('********************************************')

students=[
    {
    'name':'张三',
    'Chinese':'65',
    'math':'100',
    'English':'88',
    'score':'200'
    },
    {'name':'李四',
    'Chinese':'65',
    'math':'100',
    'English':'88',
    'score':'200'
        
     },
    {'name':'王五',
    'Chinese':'65',
    'math':'100',
    'English':'88',
    'score':'200'
     }
]

while True:
    action=input('请输入想要的操作:')
    
    if action=='0':
        print('感谢使用!')
        break

    elif action =='1':
        name=input('请输入姓名:')
        Chinese=input('语文成绩:')
        math=input('数学成绩:')
        English=input('英语成绩:')
        score=int(Chinese)+int(math)+int(English)
        student={
        'name':name,
        'Chinese':Chinese,
        'math':math,
        'English':English,
        'score':score


            }
        students.append(student)
        print(students)
        
    elif action=='2':
        for student in students:
            print(student)

    
    elif action=='3':
        name=input('请输入你要查询的名字:')
        for student in students:
            if student['name']==name:
                print(student)
                break
        else:
            print('未找到{}'.format(name))
            
    elif action=='4':
        name=input('请输入要删除的学生姓名:')
        for student in students:
            if student['name']==name:
                students.remove(student)
                print('删除成功')
                break
        else:
            print('{}未找到'.format(name))
        
    elif action=='5':
        name=input('请输入你要修改的名字:')
        for student in students:
            if student['name']==name:
                student['name']=input('请输入姓名:')
                student['Chinese']=input('语文成绩:')
                student['math']=input('数学成绩;')
                student['English']=input('英语成绩:')
                student['score']=int(student['Chinese'])+int(student['math'])+int(student['English'])
                print('修改成功')
                break
                
        else:
            print('未找到{}'.format(name))
    

    else:
        print('输入格式不正确 请重新输入')
    

在这里插入图片描述

有文件操作

class Student(object):
    student_num = 0

    #增加学生
    def add_student(self,student_info):
        with open('student.txt','a') as file:
            file.write(student_info+'\n')
        return '添加成功'
    #查找学生
    def get_student_info(self,student_num):
        with open('student.txt','r') as file:
            lines = file.readlines()
            for line in lines:
                if student_num == line[0:5]:
                    result = line
                    break
            else:
                result = '学号不存在'
            return result
    #显示学生信息
    def get_all_students_info(self):
        with open('student.txt','r') as file:
            result = file.read()
        return result
    #删除学生
    def delete_student(self,student_num):
        if not self.is_student_exists(student_num):
            return '该学号不存在'
        with open('student.txt','r') as file:
            lines = file.readlines()
        with open('student.txt','w') as file:
            for line in lines:
                if line[0:5] == student_num:
                    continue#进入下一次循环
                file.write(line)
        return '删除成功'

    #修改信息
    def edit_student(self,student_num):
        if not self.is_student_exists(student_num):
            return '该学号不存在'
        with open('student.txt','r') as file:
            lines = file.readlines()
        with open('student.txt','w') as file:
            for line in lines:
                if line[0:5] == student_num:
                    name = input('请输入学生的姓名:')
                    gender = input('请输入学生的性别:')
                    phone = input('请输入学生的手机号:')
                    student_info = ','.join([student_num,name,gender,phone])
                    file.write(student_info+'\n')
                else:
                    file.write(line)
        return '修改成功'
    
    def is_student_exists(self,student_num):
        with open('student.txt','r') as file:
            lines = file.readlines()
            for line in lines:
                if student_num == line[0:5]:
                    return True
            else:
                return False

    def create_student_num(self):
        try:
            with open('student.txt', 'r') as file:
                lines = file.readlines()
                last_line = lines[-1]
            if last_line:
                self.student_num = int(last_line.split(',')[0]) + 1  # '10001,宋江,男,123123123'
            else:
                self.student_num = 10001
        except:
            self.student_num = 10001

        return str(self.student_num)

def show_message():
    print("---------------------------")
    print("      学生管理系统 V1.0")
    print("                           ")
    print("      1:添加学生")
    print("      2:查询学生")
    print("      3:显示所有学生")
    print("      4:删除学生")
    print("      5:修改学生")
    print("      0:退出系统")
    print("                           ")
    print("---------------------------")



def main():
    student = Student()
    show_message()
    while True:
        try:
            number = int(input('请输入您的选择:'))
        except:
            print('输入无效,请按照提示输入相应数字。')
        else:
            if number == 1:
                student_num = student.create_student_num()
                name = input('请输入学生的姓名:')
                gender = input('请输入学生的性别:')
                phone = input('请输入学生的手机号:')
                student_info = ','.join([student_num,name,gender,phone])
                result = student.add_student(student_info)
                print(result)
            elif number == 2:
                student_num = input('请输入要查询的学生学号:')
                result = student.get_student_info(student_num)
                print(result)
            elif number == 3:
                result = student.get_all_students_info()
                print(result)
            elif number == 4:
                student_num = input('请输入要删除的学生学号:')
                confirm = input('确认删除请输入y/yes:')
                if confirm == 'y' or  confirm == 'yes':
                    result = student.delete_student(student_num)
                    print(result)
                else:
                    print('取消删除')
            elif number == 5:
                student_num = input('请输入要修改的学生学号:')
                result = student.edit_student(student_num)
                print(result)
            elif number == 0:
                print('退出成功')
                break
            else:
                print('输入无效,请按照提示输入相应数字。')

if __name__ == "__main__":
    main()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值