python选课系统demo的小练习
#简化选课系统代码:先登陆,然后判断身份并实例化,根据身份对应的类,让用户选择
class Manager:
operate_dict=[
('创造学生账号',"creat_student"),
('查看学生信息',"check_student")
]
def __init__(self,name):
self.name=name
def creat_student(self):
print('创建学生账号')
def check_student(self):
print('查看学生信息') class Student:
def __init__(self, name):
self.name = name
def check(cls):
print('查看课程')
def login(cls):
print('登录') class Teacher:
def __init__(self, name):
self.name = name
def login():
username=input('user:')
password=input('password:')
with open('userinfo')as f:
for line in f :
user,pwd,ident=line.strip().split('|')
if user==username and pwd==password:
print('登陆成功')
return username,ident
import sys
def main():
usr,id=login()
file=sys.modules['__main__']
cls=getattr(file,id)
obj=cls(usr)
Operate_dict=cls.operate_dict
print(Operate_dict)
for num,item in enumerate(Operate_dict):
print(num,item[0])
choice=int(input("num>>>"))
choice_item=Operate_dict[choice-1]
getattr(obj.choice_item[1])()
main()
这个Demo不涉及数据库和JS等内容,只是单纯考察反射知识点.
接下来进行重点部分的分析


第一次跟着写,分析也是云里雾里的.可能还会更新吧(?)
________________________________________________________________________________
20190921更新一波
搭配代码开发规范可以写出相对完整的框架.

比如这样写一个框架的开头:


python选课系统demo的小练习的更多相关文章
- 一个简单的python选课系统
下面介绍一下自己写的python程序,主要是的知识点为sys.os.json.pickle的模块应用,python程序包的的使用,以及关于类的使用. 下面是我的程序目录: bin是存放一些执行文件co ...
- python选课系统
程序名称: 选课系统 角色:学校.学员.课程.讲师 要求: 1. 创建北京.上海 2 所学校 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海 ...
- python选课系统作业
# 选课系统# 角色:学校.学员.课程.讲师# 要求:# 1. 创建北京.上海 2 所学校# 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海 ...
- python 选课系统
couser.py: import sys,osBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))sys.pa ...
- python面向对象编程小程序- 选课系统
选课系统 花了一晚上写的,可能还存在不足 1.程序框架 2.文件夹建立 D:/选课系统 |___api | |___common_api.py |___bil | |___common.py |___ ...
- python+requests模拟登陆 学校选课系统
最近学校让我们选课,每天都有不同的课需要选....然后突发奇想试试用python爬学校选课系统的课程信息 先把自己的浏览器缓存清空,然后在登陆界面按f12 如图: 可以看到登陆时候是需要验证码的,验证 ...
- python之选课系统详解[功能未完善]
作业需求 思路:1.先写出大体的类,比如学校类,学生类,课程类-- 2.写出类里面大概的方法,比如学校类里面有创建讲师.创建班级-- 3.根据下面写出大致的代码,并实现其功能 遇到的困 ...
- Python开发程序:选课系统-改良版
程序名称: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...
- python实现学生选课系统 面向对象的应用:
一.要求: 选课系统 管理员: 创建老师:姓名.性别.年龄.资产 创建课程:课程名称.上课时间.课时费.关联老师 使用pickle保存在文件 学生: 学生:用户名.密码.性别.年龄.选课列表[].上课 ...
随机推荐
- struts--CRUD优化(图片上传)
1.上传方式 上传到指定文件目录,添加服务器与真实目录的映射关系,从而解耦上传文件与tomcat的关系 文件服务器 2.web代码优化 package com.yuan.crud.web; impo ...
- html与HTML5的区别
文档的类型声明不同 html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.or ...
- 51nod 1565 模糊搜索 FFT
这...好强啊\(QwQ\) 思路:卷积?\(FFT\)? 提交:\(5\)次 错因:一开始的预处理写错了(竟然只错了最后几个大点)闹得我以为\(FFT\)写挂了\(QwQ\) 题解: 对四种字符分开 ...
- day 50 jquary 终极版本
jQuary 一.jquary对象和dom对象 jquary找到的标签对象成为-- jquary对象 原生js找到的标签对象成为 -- dom对象 dom对象只能使用dom对象的方法,不能使用jque ...
- 三十三.mysqldump 实时增量备份 、innobackupex
1.数据库备份与恢复 逻辑备份工具 mysqldump 使用mysql 恢复数据库 1.1备份MySQL服务器上的所有库 ]# mysqldump -u root -p123456 --all-d ...
- List<Map<String, Obejct>>遍历
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Map&l ...
- 决策单调性优化DP学习笔记
用途 废话,当然是在DP式子满足某些性质的时候来优化复杂度-- 定义 对于\(j\)往大于\(j\)的\(i\)转移,可以表示成一个关于\(i\)的函数\(f_j(i)\),也就是\(dp_i=\ma ...
- OS创建页目录和页
;开始创建页目录项(PDE) .create_pde: ; 创建Page Directory Entry mov eax, PAGE_DIR_TABLE_POS ; PAGE_DIR_TABLE_PO ...
- WPF中打开网页的两种方法
1.浏览器打开 Process proc = new System.Diagnostics.Process(); proc.StartInfo.FileName = "http://www. ...
- 同一个类里@Cacheable缓存不起作用
问题原因: 注解@Cacheable是使用AOP代理实现的 ,通过创建内部类来代理缓存方法,类内部的方法调用类内部的缓存方法不会走代理,所以就不能正常创建缓存,所以每次都需要去调用数据库. 解决方法: ...