当前位置:   article > 正文

使用python实现一个(文件版)简单的课程管理系统_用python写一个学生信息管理系统包含课程

用python写一个学生信息管理系统包含课程

综合运用Python数据类型、运算符、控制语句、函数模块、文件等相关知识点,编写一个课程管理系统,系统实现如下功能:
(1)主菜单功能;
初始化
(2)添加课程信息功能;

(3)保存课程信息数据功能。

(4)打开课程信息数据功能。
在这里插入图片描述
(5)删除课程信息功能。
在这里插入图片描述
(6)查询课程信息功能;
在这里插入图片描述
(7)退出系统。
在这里插入图片描述
下面是我的源代码以及对该源代码的分析,以供大家借鉴参考以及自己的记录。

import os
 
course_list = []  # 存储课程信息字典,课程信息用字典存,再用列表存储字典
 
# 菜单
def display_menu():
    print("-" * 30)
    print("   课程管理系统  ")
    print("1.添加课程信息")
    print("2.删除课程信息")
    print("3.查询课程信息")
    print("4.保存课程信息数据")
    print("5.打开课程信息数据")
    print("0.退出系统")
    print("-" * 30)
 
# 选择序号的获得
def get_choice():
    selected_key = input("请输入功能对应的数字:")
    return selected_key
  
# 检查课程编号是否重复或者有误
def check_id(new_id):
    flag = True
    while flag:
        if new_id.isdigit():
            for i in range(len(course_list)):
                if course_list[i]['id'] == new_id:
                    new_id = check_id(input("您输入的课程重复,请重新输入:"))
            flag = False
        else:
            new_id = input("您输入的课程编号有误,请重新输入:")
    return new_id
 
# 添加课程信息
def add_course():
    print('-----------欢迎使用添加功能------------')
    new_info = {}
    new_id = check_id(input("请输入新的课程编号:"))
    new_info['id'] = new_id
    new_name = input("请输入新课程名称:")
    new_info['name'] = new_name
    new_style = input("请输入新课程类型(专业课/基础课):")
    new_info['style'] = new_style
    new_time = input("请输入新课程课时:")
    new_info['time'] = new_time
    new_point = input("请输入新课程学分:")
    new_info['point'] = new_point
    course_list.append(new_info)
    print("添加成功!")
    print('------------处理后的课程数据------------')
    print('课程编号',' ','课程类型',' ','课程学分',' ','课程课时',' ','课程名称')
    for course in course_list:   
        print(course['id'],' '*8, course['style'],' '*5, course['point'], ' '*8,course['time'], ' '*5,course['name'])
 
# 打开课程信息数据
def find_all():
    print('-------------恭喜你,打开数据成功-------------')
    print('------------处理后的课程数据------------')
    print('课程编号',' ','课程类型',' ','课程学分',' ','课程课时',' ','课程名称')
    for course in course_list:   
        print(course['id'],' '*8, course['style'],' '*5, course['point'], ' '*8,course['time'], ' '*5,course['name'])
 
# 删除课程信息
def del_course():
    del_id_is = input("请输入要删除的课程编号:")
    flag = False
    index = 0
    for i in range(len(course_list)):
        if course_list[i]['id'] == del_id_is:
            flag = True
            index = i
            break
    if flag:
        course_list.pop(index)
        print('-------------恭喜你,删除数据成功-------------')
        print('------------处理后的课程数据------------')
        print('课程编号',' ','课程类型',' ','课程学分',' ','课程课时',' ','课程名称')
    for course in course_list:   
        print(course['id'],' '*8, course['style'],' '*5, course['point'], ' '*8,course['time'], ' '*5,course['name'])
        
# 查询单个课程信息
def find_course():
    find_id_is = input("请输入要查询的课程编号:")
    flag = False
    index = 0
    for i in range(len(course_list)):
        if course_list[i]['id'] == find_id_is:
            flag = True
            index = i
            break
    if flag:
        print('------------处理后的课程数据------------')
        print('课程编号',' ','课程类型',' ','课程学分',' ','课程课时',' ','课程名称')
        print(course_list[index]['id'],' '*8, course_list[index]['style'],' '*5,course_list[index]['point'],' '*8, course_list[index]['time'], ' '*5,course_list[index]['name'])
    else:
        print('该课程未找到!')
 
# 保存课程信息
def save_cou():
    course= str(course_list)
    with open("course.txt", "w", encoding="utf-8") as f:
        f.write(course)
    
    print("保存成功!文件位置在"+os.getcwd())
    print('处理后的课程数据')
    print('课程编号',' ','课程类型',' ','课程学分',' ','课程课时',' ','课程名称')
    for course in course_list:   
        print(course['id'],' '*8, course['style'],' '*5, course['point'], ' '*8,course['time'], ' '*5,course['name'])

# 恢复数据
def recover_data():
    global course_list
    try:
        with open("course.txt", "r", encoding="utf-8") as f:
            content = f.read()
            if content != '':
                course_list = eval(content)   
    except:
        f = open("course.txt", "w")
        f.write("[]")
 
def main():
    recover_data()
    exit_course = True
    while exit_course:
        display_menu()
        key = get_choice()
        if key == '1':
            add_course()
        elif key == '2':
            del_course()
        elif key == '3':
            find_course()
        elif key == '4':
            save_cou()
        elif key == '5':
            find_all()
        elif key == '0':
            exit_course=input('确定退出吗?(yes/no):')
            if exit_course == 'yes':
                exit()
            else:
                pass
        else:
            print("请输入正确的数值!")
 
main()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148

允许转载,转载时请务必以超链接形式标明文章 、原始出处 、作者信息和本声明。谢谢@-@!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/550309
推荐阅读
相关标签
  

闽ICP备14008679号