m0_59952600 2021-07-05 10:28 采纳率: 100%
浏览 44
已采纳

就是py学生管理系统中的students怎么定义

就是学生管理系统中的students怎么定义
s = "姓名:%s,年龄:%d,分数:%2f"
name = input("请输入名字:")
age = int(input("请输入年龄:"))
score = int(input("请输入分数;"))
print(s % (name,age,score))

将学生信息进行打印

title1 = '+' + '-' * 15 + '+' + '-' * 5 + '+' + '-' * 7 + '+'
title2 = '|%s|%s|%s|' % ('name'.center(15),'age'.center(5),'score'.center(7))
print(title1)
print(title2)
print(title1)
for stu in students:
print('|%s|%s|%s|' % (
stu['name'].center(15),

从字典里面去除姓名和分数,转为字符串并居中,然后格式化填入

    str(stu['age']).center(5),
    str(stu['score']).center(7)
))

print(title1)

修改学生数据

def modify_students(students):
name = input("请输入要修改的学生名字:")
# students [{"name":"zs","age":19,...},()]
for stu in students:
if name == stu['name']:
score = int(input("请输入你要修改的成绩:"))
stu['score'] = score
print("修改%s的成绩成功" % name)
return
print("没有找到名字为%s的学生,修改失败" % name)

修改学生数据

def delete_students(students):
name = input("请输入要删除的学生名字:")
for stu in students:
if name == stu['name']:
students.remove(stu)
print("删除名为%s的学生成功" % name)
return
print("没有名为%s的学生,删除失败")

部分主函数参考代码

def main():
stu_infos = []
while True:
show_menu()
op = input("请选择:")
if op == '1':
students = input_student()
stu_infos.extend(students)
elif op == '2':
output_student(stu_infos)
elif op == '3':
modify_students(stu_infos)
elif op =='4':
delete_students(stu_infos)
elif op =='0':
print("退出程序")
return
else:
print("输入不正确")
p = input("请输入y回主菜单,输入其他退出程序")
if p !='y':
print("退出程序")
print("输入不正确")
p = input("输入y回主菜单,输入其它退出程序")
if p !='y':
print("退出程序")
return

if name == "nain":
main()

  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2021-07-05 14:26
    关注

    将students定义为一个元素为字典的列表即可,代码修改如下:

    def input_students():
        students = []
        s = "姓名:%s,年龄:%d,分数:%2f"
        name = input("请输入名字:")
        age = int(input("请输入年龄:"))
        score = int(input("请输入分数:"))
        print(s % (name,age,score))
        students.append({'name':name,'age':age,'score':score})
        return students
    def output_students(students):
        title1 = '+' + '-' * 15 + '+' + '-' * 5 + '+' + '-' * 7 + '+'
        title2 = '|%s|%s|%s|' % ('name'.center(15),'age'.center(5),'score'.center(7))
        print(title1)
        print(title2)
        print(title1)
        for stu in students:
            print('|%s|%s|%s|' % (
            stu['name'].center(15),str(stu['age']).center(5),str(stu['score']).center(7)))
        print(title1)
    #修改学生数据
    def modify_students(students):
        name = input("请输入要修改的学生名字:")
        # students [{"name":"zs","age":19,...},()]
        for stu in students:
            if name == stu['name']:
                score = int(input("请输入你要修改的成绩:"))
                stu['score'] = score
                print("修改%s的成绩成功" % name)
            return
        print("没有找到名字为%s的学生,修改失败" % name)
    
    #修改学生数据
    def delete_students(students):
        name = input("请输入要删除的学生名字:")
        for stu in students:
            if name == stu['name']:
                students.remove(stu)
                print("删除名为%s的学生成功" % name)            
                return students
            print("没有名为%s的学生,删除失败")
    def show_menu():
        print('######学生成绩管理系统######\n')
        print('1.输入学生信息\n2.输出学生信息\n3.修改学生信息\n4.删除学生信息\n5.退出系统')
        print('############################\n')
    #部分主函数参考代码
    def main():
        stu_infos = []
        while True:
            show_menu()
            op = input("请选择:")
            if op == '1':
                students = input_students()
                stu_infos.extend(students)
            elif op == '2':
                output_students(stu_infos)
            elif op == '3':
                modify_students(stu_infos)
            elif op =='4':
                delete_students(stu_infos)
            elif op =='5':
                print("退出程序")
                break        
            else:
                print("输入不正确")
                p = input("请输入y回主菜单,输入其他退出程序")
                if p !='y':
                    print("退出程序")
                    print("输入不正确")
                    p = input("输入y回主菜单,输入其它退出程序")
                if p !='y':
                    print("退出程序")
    
    if __name__ == "__main__":
        main()
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 vmware exsi重置后的密码
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题