一个Python编写的小程序(学生信息管理系统)

3人阅读 评论(0) 收藏 举报
分类:
def printInfo(StudentData,StudentName):
    """
    :param StudentData:
    :param StudentName:
    :return:
    """
    student = StudentData[StudentName]
    student_Info = """
    ----------------------
    name:   %s
    age:    %s
    sex:    %s
    no:     %s
    ----------------------
    """%(student[2],student[3],student[4],student[5])

    print(student_Info)

def createStudent(StudentData,username,password,name,age,sex,no):
    """
    :param StudentData:
    :param username:
    :param password:
    :param name:
    :param age:
    :param sex:
    :param no:
    :return:
    """
    student = [username,password,name,age,sex,no]
    StudentData.setdefault(student[0],student)
    f =  open('account','r+',encoding='utf8')
    f.seek(0)
    f.truncate()
    for st in StudentData:
        row = ','.join(StudentData[st])
        f.write('%s\n'%row)
    f.flush()
    f.close()

def saveFile(StudentData):
    """

    :param StudentData:
    :return:
    """
    f = open('account', 'r+', encoding='utf8')
    f.seek(0)
    f.truncate()
    for st in StudentData:
        row = ','.join(StudentData[st])
        f.write('%s\n' % row)
    f.flush()
    f.close()

def readFile():
    """
    :return: accouts 从文件将数据提出并转化为dict
    """
    f = open('account','r',encoding='utf8')
    data = f.readlines()
    accounts = {}
    for line in data:
        line = line.strip()
        if not line.startswith('#'):
            items = line.split(",")
            accounts[items[0]] = items
    f.close()
    return accounts

def login(StudentData,account,password):
    """
    :param StudentData:
    :param account:
    :param password:
    :return:
    """
    if account in StudentData.keys():
        if password == StudentData[account][1]:
            return 1
        else:
            print("密码输入错误!")
            return None
    else:
        print("不存在该用户!")
        return None

def changeInfo(StudentData,account):
    columnData = ["Name  Age   Sex   No"]
    print(columnData)
    for index, i in enumerate(StudentData[account]):
        if index>1:
            print("%s. %s"%(index-1,i))


if __name__ == "__main__":
    menu = """
        0.更换账户
        1.查看信息
        2.修改信息
        3.修改密码 
        4.创建用户(需要管理员密码)
           
    """
    StudentData = readFile()
    num = 0
    while num < 3:
        account = input("account:")
        password = input("password:")
        num+=1
        while login(StudentData,account,password):
            print("welcome %s ".center(50, '-') % account)
            print(menu)
            user_choice = input('>>>').strip()
            if user_choice.isdigit():
                user_choice = int(user_choice)
                if user_choice == 1:
                    printInfo(StudentData, account)
                if user_choice == 2:
                    changeInfo(StudentData, account)
                    ch = input('>>>').strip()
                    if ch.isdigit():
                        ch = int(ch)
                        for i in range(5):
                            if ch == i:
                                print("old:%s"%(StudentData[account][ch+1]))
                                new = input("new:").strip()
                                StudentData[account][ch+1]=new
                                saveFile(StudentData)
                                break
                            else:
                                print("未输入规定范围内数字")
                    else:
                        print("你输入的不是数字")
                if user_choice == 3:
                    old = input("请输入旧密码:").strip()
                    if old == StudentData[account][1]:
                        new = input("输入新的密码:").strip()
                        StudentData[account][1] = new
                        saveFile(StudentData)
                        print("修改成功!")
                    else:
                        print("密码输入错误!")
                if  user_choice == 4:
                    print("你正在进行管理员操作...")
                    admin = input("请输入管理员密码:").strip()
                    if admin == 'admin':
                        new_account = input('new_account:')
                        new_password = input('new_password:')
                        new_name = input('new_name:')
                        new_age =  input('new_age:')
                        new_sex = input('new_sex:')
                        new_no = input('new_no:')
                        createStudent(StudentData,new_account,new_password,new_name,new_age,new_sex,new_no)
                    else:
                        print("密码输入错误!")
                if user_choice == 0:
                    break
    print("你输入错误超过3次。。。")







查看评论

python写的简答学生管理系统Demo(练习python语法)

#!/usr/local/bin/python# -*- coding:utf-8 -*- import os import re #定义学生类 class Student: def __...
  • bobopeng
  • bobopeng
  • 2014-01-13 21:28:27
  • 2919

python之学生信息管理系统

通过编写一个学生信息管理系统,学习应用了函数,函数嵌套使用,函数返回多个数据,局部变量和全局变量,完整的学生信息管理系统可以实现增删查改等功能,在这里,主要编写了添加,修改和显示功能。...
  • ldm_666
  • ldm_666
  • 2017-08-14 13:29:38
  • 2849

java EE 开发入门小程序 mvc设计模式 学生信息的管理

1.在mysql数据库中创建student数据库,创建studentInfo表(id,name,age)其中id是自动增加的键。          2 .创建web工程后,将java连接mysql的驱...
  • sunny15100
  • sunny15100
  • 2015-06-13 21:50:33
  • 1431

使用python实现一个简单的学生信息管理系统

使用python实现一个简单的学生信息管理系统 2015-09-08 17:35:13 标签:管理系统 python 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 ...
  • sunyllove
  • sunyllove
  • 2016-10-25 15:14:43
  • 7453

C语言小项目(学生信息管理系统)

/* (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:  1.系统以菜单方式工作  2.学...
  • sl1248
  • sl1248
  • 2016-04-06 09:07:44
  • 9148

python学生管理系统

这几天开始接触了python语言,这语言相对c语言简洁了不少,语言真是一通百通,学起来还是比较轻松,在熟悉了基本语法,列表(序列),元组以及字典之后写了一个最基础简单的的学生管理系统 能完成的功能有...
  • h674174380
  • h674174380
  • 2017-09-11 12:53:29
  • 2772

Python实现学生信息管理系统

继上篇博客 Python实现简易通讯录后,我就想写一个复杂点的学生信息管理系统,这次实现的功能有   1.学生信息的录入管理;   2.学生选课操作;   3.学生选课情况查询;      ...
  • MTbaby
  • MTbaby
  • 2017-03-06 11:09:08
  • 2438

练手小程序2 学生信息管理系统

大一末的作业,日子久了补发一发。校内自己的作业,写的比第一篇好一点,大概是因为比清华的简单吧。 课程设计要求实现如下基本功能: 1、增加学生信息  2、修改学生信息  3、显示学生信息  ...
  • DT2131
  • DT2131
  • 2016-10-26 23:16:33
  • 582

MFC编写个简单学生管理信息程序

(1)、设计一个学生类Student,包括数据成员:姓名、学号、二门课程(面向对象程序设计、高等数学)的成绩。 (2)、创建一个管理学生的类Management,包括实现学生的数据的增加、删除、修改、...
  • Pespi_Co1a
  • Pespi_Co1a
  • 2017-01-17 10:20:17
  • 1044
    个人资料
    等级:
    访问量: 0
    积分: 22
    排名: 0
    文章分类
    文章存档