学生管理系统储存为什么前面加#号而且1 show_all在终端显示不出来

存储学生信息

stu_mesall = {undefined

"s001": {"sno": "s001", "name": "张三", "age": 23, "sex": "男", "Python": 45},

"s002": {"sno": "s002", "name": "李思", "age": 18, "sex": "女", "Python": 87}

}

with open("学生信息.txt", mode="w", encoding="utf-8") as stu_mesalls:

stu_mesalls.write(str(stu_mesall))

stu_mesall = {}

显示所有学生信息

def show_mes():

print("""


欢迎使用【不染学员管理信息系统】V2.0

1. 显示所有学生信息

2. 新建学生信息

3. 查询学生信息

4. 修改学生信息

5. 删除学生信息

6. 选择显示功能

7. 退出系统


""")

显示所有学生信息

def show_all():

if os.path.exists("学生信息.txt"):

with open("学生信息.txt", mode="r", encoding="utf-8") as file:

ret = file.read()

global stu_mesall

stu_mesall = eval(ret)

for item in stu_mesall.values():

print(f"学号:{item['sno']} | 姓名:{item['name']} | 年龄:{item['age']} | 性别:{item['sex']} | Python成绩:{item['Python']}")

前面加了#号是注释。。。

你的代码发的太乱了
把你的代码用代码段</>的文本形式重新发一下,

img


import functools
import os
def ext_func():
    print("""
*********************************************

您输入的学生学号不存在,请输入以下指令:

a. 重新输入学号

b. 新建学生信息

0. 回到主菜单

*********************************************

""")

# 存储学生信息
stu_mesall = {undefined
{"s001":{"sno": "s001", "name": "张三", "age": 23, "sex": "男", "生日": 45,"国籍":"中国","英语成绩": 60,"数学成绩": 50,"计算机成绩":80,
{"s002": {"sno": "s002", "name": "李思", "age": 18, "sex": "女", "生日": 87,"国籍":"法国","英语成绩": 69,"数学成绩": 59,"计算机成绩":81}}
with open("学生信息.txt", mode="w", encoding="utf-8") as stu_mesalls:
stu_mesalls.write(str(stu_mesall))
stu_mesall = {}

# 显示所有学生信息
def show_mes():
    print("""*********************************************
欢迎使用【学员管理信息系统】V2.0

1. 显示所有学生信息

2. 新建学生信息

3. 查询学生信息

4. 修改学生信息

5. 删除学生信息

6. 选择显示功能

7. 退出系统

*********************************************

""")

# 显示所有学生信息
def show_all():
    if os.path.exists("学生信息.txt"):
        with open("学生信息.txt", mode="r", encoding="utf-8") as file:
            ret=file.read()
            global stu_mesall
            stu_mesall = eval(ret)
for item in stu_mesall.values():
    print(f"学号:{stu_mesall[item]['sno']} | 姓名:{stu_mesall[item]['name']} | 年龄:{stu_mesall[item]['age']} | 生日:{stu_mesall[item]['shengri']} | 性别:{stu_mesall[item]['sex']} | 籍贯:{stu_mesall[item]['jiguan']} | 数学成绩:{stu_mesall[item]['math']} | 英语成绩:{stu_mesall[item]['English']} | 计算机成绩:{stu_mesall[item]['jsj']}")

# 新建学生信息
def add_stu():
    stu_sno = input("请输入您要新建学生的学号:")
    if stu_sno in stu_mesall.keys():
        print("""

*********************************************

您输入的学生学号已存在,请输入以下指令:

a. 重新输入学号

0. 回到主菜单

*********************************************

""")
        while True:
            info_help = input("请输入您要操作的指令:")
            if info_help == 'a':
                add_stu()
            if info_help == '0':
                return
            else:
                    print("输入有误,请重新输入!")
    else:   
            stu_name = input("请输入您要新建学生的姓名:")
            stu_age = int(input("请输入您要新建学生的年龄:"))
            stu_shengri = int(input("请输入您要新建学生的生日:"))
            stu_sex = input("请输入您新建学生的性别:")
            stu_jiguan = input("请输入您要新建学生的籍贯:")
            stu_math = int(input("请输入您要新建学生的数学成绩:"))
            stu_English = int(input("请输入您要新建学生的英语成绩:"))
            stu_jsj = int(input("请输入您要新建学生的计算机成绩:"))
            stu_mes = {"sno": stu_sno, "name": stu_name, "age": stu_age, "shengri": stu_shengri, "sex":stu_sex,"jiguan": stu_jiguan,"math":stu_math,"English":stu_English,"jsj":stu_jsj}
            stu_mesall[stu_sno] = stu_mes
    with open("学生信息.txt", mode="w", encoding="utf-8") as stu_mesalls:
        stu_mesalls.write(str(stu_mesall))
    print("添加成功!")
    return 
 
# 查询学生信息
def sel_stu():
    stu_sno = input("请输入您要查询学生的学号:")
    if stu_sno in stu_mesall.keys():
        print(f"学号:{stu_mesall[stu_sno]['sno']} | 姓名:{stu_mesall[stu_sno]['name']} | 年龄:{stu_mesall[stu_sno]['age']} | 生日:{stu_mesall[stu_sno]['shengri']} | 性别:{stu_mesall[stu_sno]['sex']} | 籍贯:{stu_mesall[stu_sno]['jiguan']} | 数学成绩:{stu_mesall[stu_sno]['math']} | 英语成绩:{stu_mesall[stu_sno]['English']} | 计算机成绩:{stu_mesall[stu_sno]['jsj']}")
        return
    else:
        ext_func

# 修改学生信息
def upd_stu():
    stu_sno = input("请输入您要修改学生的学号:")
    if stu_sno in stu_mesall.keys():
        stu_name = input("请输入您要修改学生的姓名:")
        stu_age = int(input("请输入您要修改学生的年龄:"))
        stu_shengri = int(input("请输入您要修改学生的生日"))
        stu_sex = input("请输入您要修改学生的性别:")
        stu_jiguan = input("请输入您要修改学生的籍贯:")
        stu_math = int(input("请输入您要修改学生的math成绩:"))
        stu_English = int(input("请输入您要修改学生的English成绩:"))
        stu_jsj = int(input("请输入您要修改学生的jsj成绩:"))
        stu_mes = {"sno": stu_sno, "name": stu_name,"age":stu_age, "shengri": stu_shengri, "sex":stu_sex,"jiguan":stu_jiguan,"math":stu_math,"English":stu_English,"jsj":stu_jsj}
        stu_mesall[stu_sno] = stu_mes
        with open("学生信息.txt", mode="w", encoding="utf-8") as stu_mesalls:
            stu_mesalls.write(str(stu_mesall))
        print("修改成功!")
        return
    else:
        ext_func()

# 选择显示功能
def func_stu():
    print("""

*********************************************

欢迎进入选择显示功能界面,请输入以下指令:

a. 统计平均分

b. 统计及格率

0. 回到主菜单

*********************************************

""")
    while True:
        info_help = input("请输入您要操作的指令:")
        if info_help == 'a':
            avg_score()
        elif info_help == 'b':
            pass_score()
        elif info_help == '0':
            return
        else:
            print("输入有误,请重新输入!")

# 统计平均分
def avg_score():
    score_list1 = [math_score['math'] 
    for math_score in stu_mesall.values()]
    print(f"学生的数学平均分:{functools.reduce(lambda x,y : x + y, score_list1) / len(score_list1)}")
    score_list2 = [English_score['English'] 
    for English_score in stu_mesall.values()]
    print(f"学生的英语平均分:{functools.reduce(lambda x,y : x + y, score_list2) / len(score_list2)}")
    score_list3 = [jsj_score['jsj'] 
    for jsj_score in stu_mesall.values()]
    print(f"学生的计算机平均分:{functools.reduce(lambda x,y : x + y, score_list3) / len(score_list3)}")

# 统计及格率
def pass_score():
    score_list1 = [math_score['math'] for math_score in stu_mesall.values()]
    print(f"学生的数学及格率为:{len([score for score in score_list1 if score >= 60]) / len(score_list1) * 100}%")
    score_list2 = [English_score['English'] for English_score in stu_mesall.values()]
    print(f"学生的英语及格率为:{len([score for score in score_list2 if score >= 60]) / len(score_list2) * 100}%") 
    score_list3 = [jsj_score['jsj'] for jsj_score in stu_mesall.values()]
    print(f"学生的计算机及格率为:{len([score for score in score_list3 if score >= 60]) / len(score_list3) * 100}%") 
 
# 删除学生信息
def del_stu():
    stu_sno = input("请输入您要删除学生的学号:")
    if stu_sno in stu_mesall.keys():
        del stu_mesall[stu_sno]
        with open("学生信息.txt", mode="w", encoding="utf-8") as stu_mesalls:
            stu_mesalls.write(str(stu_mesall))
            print("删除成功!")
        return
    else:
        ext_func()
    while True:
        info_help = input("请输入您要操作的指令:")
        if info_help == 'a':
            del_stu()
        elif info_help == 'b':
            add_stu()
        elif info_help == '0':
            return
        else:
            print("输入有误,请重新输入!")

# 主函数
def main():
    while True:
        show_mes()
        info_inst= input("请输入您要操作的指令:")
        if  info_inst == "1":
            show_all()   
        elif info_inst == "2":
            add_stu()
        elif info_inst == "3":
            sel_stu()
        elif info_inst == "4":
            upd_stu() 
        elif info_inst == "5":
            del_stu()
        elif info_inst == "6":
            func_stu()
        elif info_inst == "7":
            return
    else:
        print("输入指令错误,请重新输入!")
main()