main.py 5.9 KB
Newer Older
6
UPDATE  
643fa569aa93e810cdda7c15 已提交
1 2 3 4 5 6 7 8
msg = """**************************************************
欢迎使用【学生信息管理系统】V1.0
请选择你想要进行的操作
1. 新建学生信息
2. 显示全部信息
3. 查询学生信息
4. 删除学生信息
5. 修改学生信息
6
UPDATE  
643fa569aa93e810cdda7c15 已提交
9 10
Python小白学习交流群:711312441
问题解答:python5201
6
UPDATE  
643fa569aa93e810cdda7c15 已提交
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
 
0. 退出系统
**************************************************"""
 
f = open('学生信息.txt', encoding='utf-8')
student_info = []
info_list = f.readlines()
for info in info_list:
    content = info.replace('\n', '').split(',')
    dit = {
        '姓名': content[0],
        '语文': content[1],
        '数学': content[2],
        '英语': content[3],
        '总分': content[4],
    }
    student_info.append(dit)
 
# 死循环
while True:
    # 输出内容
    print(msg)
    # 选择输入进行操作 序号:
    num = input('请输入你操作序号: ')
    # 判断输入内容是什么, 根据不同操作情况, 进入不同界面
    if num == '1':
        print('新建学生信息')
        # 输入相应数据内容 input输入返回字符串
        name = input('请输入学生姓名: ')
        chinese = input('请输入学生语文成绩: ')
        math = input('请输入学生数学成绩: ')
        english = input('请输入学生英语成绩: ')
        # 字符串 --> + 拼接
        score = int(chinese) + int(math) + int(english)
        # 创建字典
        student_dit = {
            '姓名': name,
            '语文': chinese,
            '数学': math,
            '英语': english,
            '总分': score,
        }
        # 列表添加元素
        student_info.append(student_dit)
 
 
    elif num == '2':
        print('显示全部信息')
        print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
        # for循环遍历
        for student in student_info:
            print(
                student['姓名'] + '\t\t' +
                str(student['语文']) + '\t\t\t' +
                str(student['数学']) + '\t\t\t' +
                str(student['英语']) + '\t\t\t' +
                str(student['总分'])
            )
 
    elif num == '3':
        print('查询学生信息')
        # 输入查询学生姓名
        name = input('请输入学生姓名: ')
        for student in student_info:
            # 判断是否有这个学生
            if student['姓名'] == name:
                print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
                print(
                    student['姓名'] + '\t\t' +
                    str(student['语文']) + '\t\t\t' +
                    str(student['数学']) + '\t\t\t' +
                    str(student['英语']) + '\t\t\t' +
                    str(student['总分'])
                )
                break
        else:
            print('查无此人')
 
 
    elif num == '4':
        print('删除学生信息')
        # 输入查询学生姓名
        name = input('请输入学生姓名: ')
        for student in student_info:
            # 判断是否有这个学生
            if student['姓名'] == name:
                print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
                print(
                    student['姓名'] + '\t\t' +
                    str(student['语文']) + '\t\t\t' +
                    str(student['数学']) + '\t\t\t' +
                    str(student['英语']) + '\t\t\t' +
                    str(student['总分'])
                )
                word = input('是否要开除这个学生(y/n): ')
                if word == 'y' or word == 'Y':
                    # 删除学生信息, 相当于删除列表里面元素
                    student_info.remove(student)
                    break
                elif word == 'n' or word == 'N':
                    break
                else:
                    print('操作失误')
        else:
            print('查无此人')
 
    elif num == '5':
        print('修改学生信息')
        # 输入查询学生姓名
        name = input('请输入学生姓名: ')
        for student in student_info:
            # 判断是否有这个学生
            if student['姓名'] == name:
                print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
                print(
                    student['姓名'] + '\t\t' +
                    str(student['语文']) + '\t\t\t' +
                    str(student['数学']) + '\t\t\t' +
                    str(student['英语']) + '\t\t\t' +
                    str(student['总分'])
                )
                word = input('是否要修改这个学生(y/n): ')
                if word == 'y' or word == 'Y':
                    # 修改学生信息
                    name = input('请输入学生姓名: ')
                    chinese = input('请输入学生语文成绩: ')
                    math = input('请输入学生数学成绩: ')
                    english = input('请输入学生英语成绩: ')
                    # 字符串 --> + 拼接
                    score = int(chinese) + int(math) + int(english)
                    # 字典修改值
                    student['姓名'] = name
                    student['语文'] = chinese
                    student['数学'] = math
                    student['英语'] = english
                    student['总分'] = score
                    print(f'{student["姓名"]}信息修改成功...')
 
                elif word == 'n' or word == 'N':
                    continue
                else:
                    print('操作失误')
                break
        else:
            print('查无此人')
 
 
    elif num == '0':
        print('退出系统')
        with open('学生信息.txt', mode='w', encoding='utf-8') as f:
            for student in student_info:
                f.write(f'{student["姓名"]},{student["语文"]},{student["数学"]},{student["英语"]},{student["总分"]}')
                f.write('\n')
        exit()  # 退出
        # break
    else:
        print('请正确输入内容')