Python实现学生成绩管理系统

最近在自学python,做了一个学生成绩管理系统,算是对这段时间学习的总结

系统要求:SAMS(Student Achievement Management System 学生成绩管理系统) 
做命令行版本的学生成绩管理系统
– 功能:

四个:
1.查询
– 显示当前系统当中的所有学生信息及其公共课成绩
2.添加
– 将学生及其成绩添加到当前系统中
3.删除
– 将学生成绩信息从系统当中删除
4.退出
– 退出系统

步骤 分解

在实现功能点前,我们应该先思考一个问题——学生成绩信息要保存到哪里? 

答案是 列表

在系统中应该有一个列表,专门用来保存所有学生的成绩信息。

# 显示系统的欢迎信息
print('-'*20,'欢迎使用学生公共课成绩管理系统','-'*20)
# 创建列表 用来保存学生信息 学生的信息以字符串的形式统一保存到列表
# 注意 这里不能把序号写死 应该是自增的
sams = ['\t周一\t97\t91\t84\t良好','\t李二\t94\t87\t88\t优秀','\t张三\t90\t85\t86\t良好']

 列表建立好后,正式进入系统功能,向用户展示系统的四个功能:

1.查询 2.添加 3.删除 4.退出

# 显示用户的选项
    print('请选择要做的操作:')
    print('\t1.查询学生公共课成绩')
    print('\t2.添加学生公共课成绩')
    print('\t3.删除学生公共课成绩')
    print('\t4.退出系统')
    user_choose = int(input('请选择[1-4]:'))

注意:因为4个选项展示需要重复多次出现,在判断开始前,要设置一个while循环遍历这四个选项

# 因为操作信息需要反复显示 所以这里建立一个死循环
while True:

 下面设计四个用户的选择的判断——if…elif…elif..elif..else:

 1.查询成绩

# 查询学生公共课成绩
    if user_choose == 1:
        # 打印表头
        print('\t序号\t学号\t姓名\t大英\t高数\t思修\t大学生行为与修养')
        # 创建两个变量 来表示学生的序号和学号
        n = 1
        sam_id = 2001
        # 显示学生及其公共课信息
        for sam in sams:
            print(f'\t{n}\t{sam_id}{sam}')
            n += 1
            sam_id += 1

2.添加成绩

# 添加学生公共课成绩
    elif user_choose == 2:
        # 获取要添加的学生的信息,姓名,大英,高数,思修,大学生行为与修养
        sam_name = input('请输入学生的姓名:')
        sam_yingyu = input('请输入学生的大英成绩:')
        sam_gaoshu = input('请输入学生的高数成绩:')
        sam_sixiu = input('请输入学生的思修成绩:')
        sam_daxuesheng = input('请输入学生的大学生行为与修养成绩:')
        # 打印分割线
        print('-'*72)
        # 创建一个学生信息
        sam = f'\t{sam_name}\t{sam_yingyu}\t{sam_gaoshu}\t{sam_sixiu}\t{sam_daxuesheng}'
        # 显示一个提示信息
        print('\t以下学生的公共课成绩信息将会被添加到系统中:')
        print('\t姓名\t大英\t高数\t思修\t大学生行为与修养')
        print(sam)
        user_confirm = input('是否确认该操作[y/n]:')
        # 确认操作
        if user_confirm == 'y' or user_confirm == 'yes':
            # 将四个信息拼接为一个字符串 append()
            sams.append(sam)
            print('学生及其公共课成绩的信息添加成功!')
        # 取消操作
        else:
            print('添加已取消')

3.删除成绩

# 删除学生公共课成绩
    elif user_choose == 3:
        # 获取要删除的学生序号
        del_num = int(input('请输入要删除的学生序号:'))
        # 判断序号是否在列表范围内 序号最大就是学生长度
        if del_num > 0 and del_num <= len(sams):
            # 输入值在范围内
            del_i = del_num - 1
            # 显示提示
            print('\t以下学生及其公共课成绩的信息将会被删除:')
            print('\t序号\t学号\t姓名\t大英\t高数\t思修\t大学生行为与修养')
            print(f'\t{del_num}\t{sam_id}{sams[del_i]}')
            user_confirm = input('该操作不可恢复,是否确认[y/n]:')
            user_confirm = input('是否确认该操作[y/n]:')
            # 确认操作
            if user_confirm == 'y' or user_confirm == 'yes':
                # 将四个信息拼接为一个字符串 append()
                sams.pop(del_i)
                print('学生及其公共课成绩信息删除成功!')
            # 取消操作
            else:
                print('操作已取消!')
        else:
            # 输入值不在范围内
            print('您的输入有误,请重新操作!')

 4.退出系统

# 退出系统
    elif user_choose == 4:
        print('-'*72)
        print('欢迎使用!再见!')
        input('点击回车键退出!')
        break

除了四个选择的判断,我们还需要设置其他情况的判断,比如用户输入了1-4之外的其他数字。

记住,在开发时,默认用户是傻瓜。

    else:
        print('您的输入有误,请重新选择!')

至此,学生成绩管理系统的功能点都已经实现,下面是完整代码

# 显示系统的欢迎信息
print('-'*20,'欢迎使用学生公共课成绩管理系统','-'*20)
# 创建列表 用来保存学生信息 学生的信息以字符串的形式统一保存到列表
# 注意 这里不能把序号写死 应该是自增的
sams = ['\t周一\t97\t91\t84\t良好','\t李二\t94\t87\t88\t优秀','\t张三\t90\t85\t86\t良好']

# 因为操作信息需要反复显示 所以这里建立一个死循环
while True:
    # 显示用户的选项
    print('请选择要做的操作:')
    print('\t1.查询学生公共课成绩')
    print('\t2.添加学生公共课成绩')
    print('\t3.删除学生公共课成绩')
    print('\t4.退出系统')
    user_choose = int(input('请选择[1-4]:'))
    # 打印分割线
    print('-'*72)
    # 判断根据用户的选择
    # 查询学生公共课成绩
    if user_choose == 1:
        # 打印表头
        print('\t序号\t学号\t姓名\t大英\t高数\t思修\t大学生行为与修养')
        # 创建两个变量 来表示学生的序号和学号
        n = 1
        sam_id = 2001
        # 显示学生及其公共课信息
        for sam in sams:
            print(f'\t{n}\t{sam_id}{sam}')
            n += 1
            sam_id += 1
    # 添加学生公共课成绩
    elif user_choose == 2:
        # 获取要添加的学生的信息,姓名,大英,高数,思修,大学生行为与修养
        sam_name = input('请输入学生的姓名:')
        sam_yingyu = input('请输入学生的大英成绩:')
        sam_gaoshu = input('请输入学生的高数成绩:')
        sam_sixiu = input('请输入学生的思修成绩:')
        sam_daxuesheng = input('请输入学生的大学生行为与修养成绩:')
        # 打印分割线
        print('-'*72)
        # 创建一个学生信息
        sam = f'\t{sam_name}\t{sam_yingyu}\t{sam_gaoshu}\t{sam_sixiu}\t{sam_daxuesheng}'
        # 显示一个提示信息
        print('\t以下学生的公共课成绩信息将会被添加到系统中:')
        print('\t姓名\t大英\t高数\t思修\t大学生行为与修养')
        print(sam)
        user_confirm = input('是否确认该操作[y/n]:')
        # 确认操作
        if user_confirm == 'y' or user_confirm == 'yes':
            # 将四个信息拼接为一个字符串 append()
            sams.append(sam)
            print('学生及其公共课成绩的信息添加成功!')
        # 取消操作
        else:
            print('添加已取消')
    # 删除学生公共课成绩
    elif user_choose == 3:
        # 获取要删除的学生序号
        del_num = int(input('请输入要删除的学生序号:'))
        # 判断序号是否在列表范围内 序号最大就是学生长度
        if del_num > 0 and del_num <= len(sams):
            # 输入值在范围内
            del_i = del_num - 1
            # 显示提示
            print('\t以下学生及其公共课成绩的信息将会被删除:')
            print('\t序号\t学号\t姓名\t大英\t高数\t思修\t大学生行为与修养')
            print(f'\t{del_num}\t{sam_id}{sams[del_i]}')
            user_confirm = input('该操作不可恢复,是否确认[y/n]:')
            user_confirm = input('是否确认该操作[y/n]:')
            # 确认操作
            if user_confirm == 'y' or user_confirm == 'yes':
                # 将四个信息拼接为一个字符串 append()
                sams.pop(del_i)
                print('学生及其公共课成绩信息删除成功!')
            # 取消操作
            else:
                print('操作已取消!')
        else:
            # 输入值不在范围内
            print('您的输入有误,请重新操作!')
    # 退出系统
    elif user_choose == 4:
        print('-'*72)
        print('欢迎使用!再见!')
        input('点击回车键退出!')
        break
    else:
        print('您的输入有误,请重新选择!')
    # 打印分割线
    print('-'*72)

实现效果

1.查询功能

2.添加功能

 3.删除功能

 4.退出功能

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年6月11日
下一篇 2023年6月11日

相关推荐