python 实战案例三: 学生管理系统设计与实现(完善中。。。。)
# -*- coding:utf-8 -*- import sys import pandas as pd from sqlalchemy import create_engine import MySQLdb reload(sys) sys.setdefaultencoding('utf-8') ''' 设计开发一套学生信息管理系统,具备以下功能: 1、权限管理:学生,管理员 2、注册,用户名,密码登陆 3、学生具备登陆,查询个人信息,成绩的权限 4、新用户注册,将注册信息持久化到mysql 学生信息表 5、老用户(学生信息表里面有记录的学生) ''' '''***打印功能列表***''' def showinfo(): print "学生管理系统 V1.0" print "\t1:登陆系统" print "\t2:注册账号" print "\t3:兴趣选课" print "\t4:成绩查询" print "\t5:爱师选评" print "\t0:退出系统" '''***功能选择***''' def getinfo(): choince = input("请按提示选择:") return int(choince) '''***登陆,注册***''' def User_Login(): sno = input("请输入你的学号:") passwd = input("请输入密码:") # 判断是否为新用户 for i in range(0, 3, 1): i = i + 1 if str(sno) == "123456" and str(passwd) == '123': print "欢迎进入学生管理系统!" else: print "您尚未开通权限,请注册!" new_sno = input("\n\t请输入账号(学号):") new_passwd = input("\t为你账号设置密码:") again_new_passwd = input("\t请再次输入密码:") if str(new_passwd) == str(again_new_passwd): print "注册成功!" showinfo() else: print "两次密码不一致,请重新输入" continue '''***登陆mysql***''' def login_mysql(): # 创建连接 conn = MySQLdb.Connect(host='127.0.0.1' , user='root' , passwd='1234563' , db='student' , port=3306 , charset='utf8' ) # 创建查询入口 cur = conn.cursor(MySQLdb.cursors.DictCursor) # 执行sql cur.execute() # 获取数据 processResult = cur.fetchall() # 关闭 cur cur.close() # 关闭 conn conn.close() def score(): sql_sc = "select * from student_score" rest = login_mysql().cur().execute(sql_sc) return rest def student_info(): sql_info = "select * from student_info" info = login_mysql().cur().execute(sql_info) return info def to_mysql(dataframe): connect = create_engine('mysql+mysqldb://root:123456@127.0.0.1:3306/student?charset=utf8') pd.io.sql.to_sql(dataframe , "student_info" , con=connect , schema="student" , if_exists="append" ) def quitInfo(): print("退出系统!") if __name__ == '__main__': while True: showinfo() key = getinfo() if key == 0: quitInfo() break elif key == 1: getinfo() elif key == 2: User_Login() elif key == 3: print "成绩查询" elif key == 4: score() else: print "请重新输入!!!"