import os
key = ['学号','姓名','年龄','性别','出生年月','地址','电话','E-mail','其他']
class student(object):
def open_file():
with open('information.txt', 'a+') as f:
pass
def add(key):
imformation_dict = {}
with open('information.txt', 'a+') as f:
for item in key:
imformation_dict[item] = input('请输入你的%s'%(item))
f.write(imformation_dict[item] + ' ')
f.write('\n')
def find(key):
find_index = int(input("""
1.按学号查询
2.按姓名查询
"""))
if find_index == 1:
find_num = input('请输入所查询学号')
index = key.index('学号')
with open('information.txt', 'r+') as f:
for line in f.readlines():
line = line.split()
if line[index] == find_num:
print('你查询的学习信息为:')
for i in range(8):
print('%s : %s'%(key[i],line[i]))
return
else:
print('没有所查询学生信息')
if find_index == 2:
find_name = input('请输入所查询姓名')
index = key.index('姓名')
with open('information.txt', 'r+') as f:
for line in f.readlines():
line = line.split()
if line[index] == find_name:
print('你查询的学习信息为:')
for i in range(8):
print('%s : %s' % (key[i], line[i]))
return
else:
print('没有所查询学生信息')
def mod(key):
mod_num = input('请输入所修改学号')
index = key.index('学号')
dict = {}
with open('information.txt', 'r') as f:
for line in f.readlines():
line = line.split()
if line[index] == mod_num:
print('你要修改的学习信息为:')
for i in range(8):
print('%s : %s' % (key[i], line[i]))
y_n = input('是否确认修改 y/n')
if y_n == 'y' or y_n == 'Y':
print('1')
with open('information.txt', 'r') as f:
print('2')
for line in f.readline():
print('3')
with open('information1.txt', 'a+') as f1:
print('4')
print(line)
print(mod_num)
if mod_num in line :
print('5')
for item in key:
dict[item] = input('请输入你修改后的%s' % (item))
f1.write(dict[item] + ' ')
f1.write('\n')
else:
f1.write(line + '\n')
f.close()
os.remove('information.txt')
os.rename('information1.txt','information.txt')
print('修改成功')
return
def del_num(key):
del_num = input('请输入要删除的学号')
index = key.index('学号')
with open('information.txt', 'r') as f:
with open('information1.txt', 'a+') as f1:
for line in f.readlines():
line = line.split()
if line[index] == del_num:
pass
else:
for item in line:
f1.write(item + ' ')
f1.write('\n')
os.remove('information.txt')
os.rename('information1.txt','information.txt')
def look(key):
with open('information.txt', 'r') as f:
for line in f.readlines():
line = line.split()
for i in range(8):
print(key[i]+ ':' + line[i])
def main():
choice = int(input("""
1.添加学生信息
2.查找学生信息
3.修改学生信息
4.删除学生信息
5.浏览学生信息
请选择:
"""))
if choice == 1:
student.add(key)
if choice == 2:
student.find(key)
if choice == 3:
student.mod(key)
if choice == 4:
student.del_num(key)
if choice == 5:
student.look(key)
stu = student()
while True:
student.main()
"""
'学号', '姓名', '性别', '家庭住址', '联系电话', '语文',
'数学', '外语', '平均成绩', '考试名次', '同学互评分',
'品的成绩', '任课教师评分', '综合测评总分', '综合测评名次'
"""
import os
key = ['学号', '姓名', '性别', '家庭住址', '联系电话']
score = ['语文','数学', '外语','平均成绩']
score_list = []
def take_second(list):
return list[0]
def information():
student_list = []
for i in range(3):
student_imf = []
for item in key:
imf = input('请输入学生%s的%s'%(i,item))
if 'q' in imf:
break
else:
student_imf.append(imf)
student_list.append(student_imf)
print(student_list)
student_list.sort(key = take_second)
print(student_list)
with open('student_imf.txt','a+') as f:
for item in student_list:
for item1 in item :
f.write(item1 + ' ')
f.write('\n')
def insert():
new = []
for item in key:
imf = input('请输入学生的%s' % (item))
new.append(imf)
student_list = [new]
with open('student_imf.txt','r') as f:
for line in f.readlines():
line = line.split()
student_list.append(line)
student_list.sort(key=take_second)
with open('student_imf.txt', 'w') as f:
for item in student_list:
for item1 in item:
f.write(item1 + ' ')
f.write('\n')
def del_student():
del_num = input('请输入要删除的学生学号:')
new_list = []
with open('student_imf.txt', 'r') as f:
for line in f.readlines():
line = line.split()
if line[0] == del_num:
pass
else:
new_list.append(line)
with open('student_imf.txt', 'w') as f:
for item in new_list:
for item1 in item:
f.write(item1 + ' ')
f.write('\n')
def look_inf():
with open('student_imf.txt', 'r') as f:
for line in f.readlines():
line = line.split()
for i in range(len(line)):
print('%s :%s'%(key[i],line[i]))
def add_score():
num = 0
with open('student_imf.txt','r') as f:
for name in f.readlines():
name = name.split()
list = []
for item in range(3):
list.append(input('请输入%s的%s'%(name[1],score[item])))
list.append('0')
for scores in list[:-1]:
scores = int(scores)
num += scores
score_pj = round(num/3,2)
list[3] = score_pj
num = 0
score_list.append(list)
with open('student_imf.txt','r') as f:
with open('score.txt','w') as f1:
line = f.readlines()
for item in range(len(score_list)):
f1.write(line[item].strip('\n'))
for item1 in score_list[item]:
f1.write(str(item1)+ ' ')
f1.write('\n')
def show_score():
num = input('请输入要显示的学号:')
with open('score.txt','r') as f:
for line in f.readlines():
if num == line.split()[0]:
print(line)
return
else:
print('没有此学生')
return
def mod_score():
list = []
num = input('请输入要修改的学号:')
with open('score.txt', 'r') as f:
for line in f.readlines():
if num == line.split()[0]:
for item in range(3):
list.append(input('请输入要修改的%s' % (score[item])))
with open('score1.txt', 'a+') as f1:
for item in list:
f1.write(item + ' ')
f1.write('\n')
else:
with open('score1.txt','a+') as f1:
f1.write(line)
os.remove('score.txt')
os.rename('score1.txt','score.txt')
def main():
choice = input("""
A.学生信息处理
B.学生数据处理
C.学生信息输出
""")
if choice == 'A':
A_choice = input("""
1.输入学生信息
2.插入学生信息
3.删除学生信息
4.浏览学生信息
""")
if A_choice == '1':
information()
if A_choice == '2':
insert()
if A_choice == '3':
del_student()
if A_choice == '4':
look_inf()
if choice == 'B':
B_choice = input("""
1.录入学生成绩
2.计算总分测评
3.修改学生成绩
4.浏览学生成绩
""")
if B_choice == '1':
add_score()
if B_choice == '2':
pass
if B_choice == '3':
mod_score()
if B_choice == '4':
show_score()
# if choice == 'C'
# im_print()
while True:
main()