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

(2)添加课程信息功能;

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

(4)打开课程信息数据功能。

(5)删除课程信息功能。

(6)查询课程信息功能;

(7)退出系统。

下面是我的源代码以及对该源代码的分析,以供大家借鉴参考以及自己的记录。

import oscourse_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 = Truewhile 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 = Falseelse:new_id = input("您输入的课程编号有误,请重新输入:")return new_id# 添加课程信息
def add_course():print('-----------欢迎使用添加功能------------')new_info = {}new_id = check_id(input("请输入新的课程编号:"))new_info['id'] = new_idnew_name = input("请输入新课程名称:")new_info['name'] = new_namenew_style = input("请输入新课程类型(专业课/基础课):")new_info['style'] = new_stylenew_time = input("请输入新课程课时:")new_info['time'] = new_timenew_point = input("请输入新课程学分:")new_info['point'] = new_pointcourse_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 = Falseindex = 0for i in range(len(course_list)):if course_list[i]['id'] == del_id_is:flag = Trueindex = ibreakif 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 = Falseindex = 0for i in range(len(course_list)):if course_list[i]['id'] == find_id_is:flag = Trueindex = ibreakif 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_listtry: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 = Truewhile 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:passelse:print("请输入正确的数值!")main()

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

使用python实现一个(文件版)简单的课程管理系统相关推荐

  1. python打开一个文件-python下几种打开文件的方式

    昨天看完了这本python进阶,感觉这本书对我启发很大,做了三张纸的笔记,方便我在遇到问题的时候翻阅,然后寻找可能的解决方案.作为一个使用Python一年的小白,虽然说不是小白,但是这一年来基本上是用 ...

  2. 用python写一个文件管理程序下载_Python管理文件神器 os.walk

    原标题:Python管理文件神器 os.walk 来自:CSDN,作者:诡途 [导语]:有没有想过用python写一个文件管理程序?听起来似乎没思路?其实是可以的,因为Python已经为你准备好了神器 ...

  3. [转载] 利用python对csv文件进行简单的数据分析

    参考链接: Python中的探索性数据分析 利用python对csv文件进行简单的数据分析 在通过爬虫爬取数据后,将数据放到csv文件里,为了方便观察,可以对数据进行简单的分析.下面我将对爬取的51j ...

  4. python 制作自己的新闻_新闻-十行代码,用Python做一个迷你版的美图秀秀

    十行代码,用Python做一个迷你版的美图秀秀 2020-02-28 10:16:08 作者: 匿名 浏览量:65次 美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让 ...

  5. 如何用python写一个文件管理程序

    不知道大家有没有想过用python写一个文件管理程序?听起来似乎没思路?其实是可以的,因为Python已经为你准备好了神器os.walk,一起来试试吧! Python中os.walk是一个简单易用的文 ...

  6. python发音机器人_只需三步,菜鸟也能用Python做一个简易版Siri

    原标题:只需三步,菜鸟也能用Python做一个简易版Siri 当下,各个手机厂商都陆续的推出了属于自己的智能手机机器人,像是苹果的Siri,小米的小爱,还有等等.这些智能机器人不仅仅方便了我们对于手机 ...

  7. 如何用Python判断一个文件是否被占用?

    今天有同学问,用os模块的access()能否判断一个文件是否被占用?直觉上,这是行不通的,因为access()返回的是文件的读写属性.为了确认这一点,我简单测试了一下. >>> i ...

  8. python读取一个文件夹/子文件夹下的所有文件名字

    python读取一个文件夹/子文件夹下的所有文件名字 示例代码: import osfile_path = './images/' all_file_name = os.listdir(file_pa ...

  9. 使用python删除一个文件或文件夹

    参考使用python删除一个文件或文件夹 - 云+社区 - 腾讯云 使用python删除一个文件或文件夹,需要使用os模块. import os os.remove(path) # path是文件的路 ...

  10. Python 基础 之 Pycharm 实现简单的名片管理系统

    Python 基础 之 Pycharm 实现简单的名片管理系统 目录 Python 基础 之 Pycharm 实现简单的名片管理系统 一.简单介绍

最新文章

  1. 华硕路由器安装aria2_网易UU加速器联动华硕,瞄准主机玩家联网刚需
  2. RocketMQ:Producer启动流程与消息发送源码分析
  3. 20岁以后的男人应该知道的一些事,看一看吧
  4. Android文档 - 账户管理器概述
  5. SpaceX星舰飞船首次试飞成功着陆!但没想到还是爆炸了...
  6. 1022. Digital Library
  7. 东京疫情数据开源当日斩获2k+ star,GitHub疫情项目源源不断
  8. 刚刚,华为发布全球首款 5G 基站核心芯片!
  9. LIRe 源代码分析 4:建立索引(DocumentBuilder)[以颜色布局为例]
  10. 华为lab-rs-v1-2.4_OSPF提升
  11. 【白皮书】2020腾讯人工智能白皮书.pdf(附下载链接)
  12. 计算机图形学代码之三角形绘制
  13. 重庆北大青鸟【学员心声】任何一次的考试,都是一次珍贵的蜕变机会
  14. 已知椭圆长短轴半径a,b,matlab画椭圆(附椭圆公式)
  15. Effective-MultiType
  16. 网络口碑理论的精髓:AISAS
  17. 360度反馈调查表中的问题示范
  18. Centos上卸载阿里云盾
  19. fbx 模型转换 export
  20. DSPE-PEG-N3 磷脂PEG叠氮

热门文章

  1. 销售记账管理系统php源码,crm客户销售管理系统销售统计ERP系统源php源码源码办公审批管理...
  2. python 最优解 ma_python遗传算法求最优解
  3. 网站扫描服务器全部开放端口,服务器开放端口扫描
  4. 内网穿透的一种方式——基于ngrok的小米球
  5. Unity Spine笔记
  6. Cadence PSpice 基于代码生成仿真模型
  7. c语言编写的小游戏(c语言编写小游戏入门)
  8. Java GUI 铁路售票系统
  9. 第三方支付3(易宝支付)
  10. Wireless工具配置