要求:
1、写个装饰器计算每个操作的时间
2、登录、注册操作
3、读文件的时候有个迭代器
4、 加个生成器和协程
5、面向对象
代码如下:
import csv
import pandas as pd
from pandas.core.frame import DataFrame
import time
import random
class StudentT(object):
def __init__(self):
self.student_list=[]
def read_file(self):#读文件
frame=[]
with open('学生成绩.csv','r',encoding='utf-8') as f:
readers = csv.reader(f)
while True:
try:
frame.append(readers.__next__())
except StopIteration:
break
data=pd.DataFrame(frame)
data.columns=['姓名','性别','学号','年龄','语文','数学','英语','总分','平均分','方差','排名']
return data
def sort(self,data): #排序
data['总分']=pd.to_numeric(data['总分'],errors='coerce') #float
data_new=data[:len(data)-1].sort_values(by=['总分'],ascending=False)
sort=[]
a=range(len(data_new))
b=iter(a)
while True:
try:
sort.append((b.__next__())+1)
except StopIteration:
break #迭代器
data_new['排名']=sort
return data_new
@staticmethod #静态方法
def xianshi():
print("---------------------------")
print(" 学生管理系统登陆 ")
print(" ")
print(" 1:登 录 ")
print(" 2:注 册 ")
print(" 3:退 出 ")
print(" 4:修改密码 ")
print(" ")
print("---------------------------")
@staticmethod
def jiemian():
print("---------------------------")
print(" 学生成绩管理系统 1.0")
print(" 身份 : 管理员")
print(" ")
print(" 1:添加学生" )
print(" 2:删除学生" )
print(" 3:修改学生" )
print(" 4:查询学生" )
print(" 5:显示所有学生" )
print(" 6:退出系统" )
print(" ")
print("---------------------------")
@staticmethod
def jiemian2():
print("---------------------------")
print(" 学生管理系统 1.0")
print(" 身份 :学生 ")
print(" ")
print(" 1:查询学生" )
print(" 2:显示所有学生" )
print(" 3:退出系统" )
print(" ")
print("---------------------------")
#添加学生
def add(self):
name=input("请输入学生姓名:")
gender=input(&