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条)

报告相同问题?

悬赏问题

  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂