|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- def meun():
- print('''====================================
- 1)添加学生信息
- 2)查找学生信息
- 3)删除学生信息
- 4)显示所有学生的信息
- 5)单科排名(语文)
- 6)单科排名(数学)
- 7)总分排名
- 8)保存学生信息到文件(students.txt)
- 9)从文件中读取数据(students.txt)
- 退出:其他任意按键<回车>
- =====================================''')
- #M=[]
- #添加函数
- def add():
- m={}
- while True:
- N1=input('请输入学生姓名:')
- if not N1: # 名字为空 跳出循环
- break
- N2=input('请输入学生性别:')
- N3=input('请输入学生年龄:')
- N4=input('请输入学生语文成绩:')
- N5=input('请输入学生数学成绩:')
- m={'姓名':N1,'性别':N2,'年龄':N3,'语文成绩':N4,'数学成绩':N5}
- M.append(m)
- #显示函数
- def show():
- print('姓名','性别'.center(6),'年龄'.center(4),'语文成绩'.center(4),'数学成绩')
- for i in M:
- print(i.get('姓名'),i.get('性别').center(3),i.get('年龄').center(8),i.get('语文成绩').center(10),i.get('数学成绩'))
- #删除函数
- def del_():
- d=input('请输入删除的学生名字:')
- for i in M:
- if d == i['姓名']:
- M.remove(i)
-
- #查找函数
- def find_():
- f=input('请输入要查找的学生姓名:')
- for i in M:
- if f == i['姓名']:
- print('姓名','性别'.center(6),'年龄'.center(4),'语文成绩'.center(4),'数学成绩')
- print(i.get('姓名'),i.get('性别').center(3),i.get('年龄').center(8),i.get('语文成绩').center(10),i.get('数学成绩'))
-
- #单科排名函数(高—低)
- def score():
- print("按学生%s高-低显示"%X)
- print('姓名','性别'.center(6),'年龄'.center(4),'语文成绩'.center(4),'数学成绩')
- s=sorted(M,key=lambda i:int(i[X]),reverse=True)
- for i in s:
- print(i.get('姓名'),i.get('性别').center(3),i.get('年龄').center(8),i.get('语文成绩').center(10),i.get('数学成绩'))
-
- #总分排名函数(高—低)
- def add_score():
- print("按学生总分高-低显示")
- print('姓名','性别'.center(6),'年龄'.center(4),'语文成绩'.center(4),'数学成绩','总分')
- s=sorted(M,key=lambda i:int(i['语文成绩'])+int(i['数学成绩']),reverse=True)
- for i in s:
- print(i.get('姓名'),i.get('性别').center(3),i.get('年龄').center(8),i.get('语文成绩').center(10),i.get('数学成绩'),str(int(i['语文成绩'])+int(i['数学成绩'])).center(10))
- #保存文件函数
- def save():
- k=open("students.txt",'w')
- for i in M:
- k.write(str(i)+"\n")
- k.close()
- #主函数
- def main():
- M=[]
- meun()
- x=input('请输入操作数:')
- while True:
- if x == 1:
- add()
- elif x == 2:
- find_()
- elif x == 3:
- del_()
- elif x == 4:
- show()
- elif x == 5:
- score(X='语文成绩')
- elif x == 6:
- score(X='数学成绩')
- elif x == 7:
- add_score()
- elif x == 8:
- save()
- main()
复制代码
两种解决方案:
1,input获取的结果是字符串,把后面所有if条件里的数字改成'1','2'这个样子
2,x = int(input("请输入操作数:"))
|
|