鱼C论坛

 找回密码
 立即注册
查看: 2419|回复: 3

[已解决]有没有大佬帮我看看这些代码怎么改啊,我刚开始学,不会写

[复制链接]
发表于 2022-7-21 19:06:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
tishi = """
*****************************************************
【学生成绩管理系统】
                            q. 退出学生成绩系统
                            1. 显示学生成绩信息
                            2. 新建学生成绩信息                           
                            3. 查询学生成绩信息
                            4. 删除学生成绩信息
                            5. 修改学生成绩信息
                            6. 查询及格学生信息
******************************************************"""
students_list = []
students_60 = []

class Student:
    def __init__(self,num:int,name:str,sex:str,grade:float):
        self.num = num
        self.name = name
        self.sex = sex
        self.grade = grade
    def modify_by_name(self,new_name):
        self.name = new_name

def display(students_list):
    print("1. 显示全部信息")
    print("学号\t姓名\t性别\t成绩\t")
    for stu in students_list:
        print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')


def add():
    global students_list
    num = int(input("请输入学生的学号:"))
    name = input("请输入学生的名字:")
    sex = input("请输入学生性别:")
    grade = int(input("请输入学生分数:"))
    student = Student(num=num,name=name,sex=sex,grade=grade)
    students_list.append(student)

def delect():
    global students_list
    cnum = int(input("请输入需要删除的学生学号:"))
    for each in students_list:
        if each.num == cnum:
            students_list.remove(each)
        else:
            print("查无此人,请重新输入")

def find_by_num():
    global students_list
    cnum = int(input("请输入需要查询成绩的学生学号:"))
    for each in students_list:
        if each.num == cnum:
            print(f"此学生的成绩为{each.grade}")
    return "查无此人,请重新输入"

def modify_by_name():
    global students_list
    name = input("请输入需要修改的学生名字:")
    for each in students_list:
        if each.name == name:
            each.modify_by_name(input("请输入正确的学生名字"))
            return '改名成功'
    return f'找不到学生{name}'

def select_by_num_60():
    global students_list
    global students_60
    for each in students_list:
        if each.num >= 60:
            students_60.append(each.name)
    print(students_60)

while True:
    print(tishi)
    handle = input('请选择你要的操作选项:')
    if handle == 'q':
        print('q. 退出系统')
        break
    elif handle == '1':
        display(students_list)
    elif handle == '2':
        add(students_list)
    elif handle == '3':
        find_by_num(students_list)
    elif handle == '4':
        delect(students_list)
    elif handle == '5':
        modify_by_name(students_list)
    elif handle == '6':
        select_by_num_60(students_list)
    else:
        print('请输入正确的操作选项!')
最佳答案
2022-7-21 19:37:32
  1. tishi = """
  2. *****************************************************
  3. 【学生成绩管理系统】
  4.                             q. 退出学生成绩系统
  5.                             1. 显示学生成绩信息
  6.                             2. 新建学生成绩信息                           
  7.                             3. 查询学生成绩信息
  8.                             4. 删除学生成绩信息
  9.                             5. 修改学生名字信息
  10.                             6. 查询及格学生信息
  11. ******************************************************"""
  12. students_list = []
  13. students_60 = []

  14. class Student:
  15.     def __init__(self,num:int,name:str,sex:str,grade:float):
  16.         self.num = num
  17.         self.name = name
  18.         self.sex = sex
  19.         self.grade = grade
  20.     def modify_by_name(self,new_name):
  21.         self.name = new_name

  22. def display(students_list):
  23.     print("1. 显示全部信息")
  24.     print("学号\t姓名\t性别\t成绩\t")
  25.     for stu in students_list:
  26.         print(f'{stu.num}\t{stu.name}\t{stu.sex}\t{stu.grade}')


  27. def add():
  28.     global students_list
  29.     num = int(input("请输入学生的学号:"))
  30.     name = input("请输入学生的名字:")
  31.     sex = input("请输入学生性别:")
  32.     grade = int(input("请输入学生分数:"))
  33.     student = Student(num=num,name=name,sex=sex,grade=grade)
  34.     students_list.append(student)

  35. def delect():
  36.     global students_list
  37.     cnum = int(input("请输入需要删除的学生学号:"))
  38.     for each in students_list:
  39.         if each.num == cnum:
  40.             students_list.remove(each)
  41.         else:
  42.             print("查无此人,请重新输入")

  43. def find_by_num():
  44.     global students_list
  45.     cnum = int(input("请输入需要查询成绩的学生学号:"))
  46.     for each in students_list:
  47.         if each.num == cnum:
  48.             print(f"此学生的成绩为{each.grade}")
  49.     return "查无此人,请重新输入"

  50. def modify_by_name():
  51.     global students_list
  52.     name = input("请输入需要修改的学生名字:")
  53.     for each in students_list:
  54.         if each.name == name:
  55.             each.modify_by_name(input("请输入正确的学生名字"))
  56.             return '改名成功'
  57.     return f'找不到学生{name}'

  58. def select_by_num_60():
  59.     global students_list
  60.     global students_60
  61.     for each in students_list:
  62.         if each.grade >= 60:
  63.             students_60.append(each.name)
  64.     print(students_60)

  65. while True:
  66.     print(tishi)
  67.     handle = input('请选择你要的操作选项:')
  68.     if handle == 'q':
  69.         print('q. 退出系统')
  70.         break
  71.     elif handle == '1':
  72.         display(students_list)
  73.     elif handle == '2':
  74.         add()
  75.     elif handle == '3':
  76.         print(find_by_num())
  77.     elif handle == '4':
  78.         delect()
  79.     elif handle == '5':
  80.         print(modify_by_name())
  81.     elif handle == '6':
  82.         select_by_num_60()
  83.     else:
  84.         print('请输入正确的操作选项!')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-21 19:06:35 | 显示全部楼层

回帖奖励 +7 鱼币

加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-21 19:08:08 | 显示全部楼层
缩进好像有问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-21 19:37:32 | 显示全部楼层    本楼为最佳答案   
  1. tishi = """
  2. *****************************************************
  3. 【学生成绩管理系统】
  4.                             q. 退出学生成绩系统
  5.                             1. 显示学生成绩信息
  6.                             2. 新建学生成绩信息                           
  7.                             3. 查询学生成绩信息
  8.                             4. 删除学生成绩信息
  9.                             5. 修改学生名字信息
  10.                             6. 查询及格学生信息
  11. ******************************************************"""
  12. students_list = []
  13. students_60 = []

  14. class Student:
  15.     def __init__(self,num:int,name:str,sex:str,grade:float):
  16.         self.num = num
  17.         self.name = name
  18.         self.sex = sex
  19.         self.grade = grade
  20.     def modify_by_name(self,new_name):
  21.         self.name = new_name

  22. def display(students_list):
  23.     print("1. 显示全部信息")
  24.     print("学号\t姓名\t性别\t成绩\t")
  25.     for stu in students_list:
  26.         print(f'{stu.num}\t{stu.name}\t{stu.sex}\t{stu.grade}')


  27. def add():
  28.     global students_list
  29.     num = int(input("请输入学生的学号:"))
  30.     name = input("请输入学生的名字:")
  31.     sex = input("请输入学生性别:")
  32.     grade = int(input("请输入学生分数:"))
  33.     student = Student(num=num,name=name,sex=sex,grade=grade)
  34.     students_list.append(student)

  35. def delect():
  36.     global students_list
  37.     cnum = int(input("请输入需要删除的学生学号:"))
  38.     for each in students_list:
  39.         if each.num == cnum:
  40.             students_list.remove(each)
  41.         else:
  42.             print("查无此人,请重新输入")

  43. def find_by_num():
  44.     global students_list
  45.     cnum = int(input("请输入需要查询成绩的学生学号:"))
  46.     for each in students_list:
  47.         if each.num == cnum:
  48.             print(f"此学生的成绩为{each.grade}")
  49.     return "查无此人,请重新输入"

  50. def modify_by_name():
  51.     global students_list
  52.     name = input("请输入需要修改的学生名字:")
  53.     for each in students_list:
  54.         if each.name == name:
  55.             each.modify_by_name(input("请输入正确的学生名字"))
  56.             return '改名成功'
  57.     return f'找不到学生{name}'

  58. def select_by_num_60():
  59.     global students_list
  60.     global students_60
  61.     for each in students_list:
  62.         if each.grade >= 60:
  63.             students_60.append(each.name)
  64.     print(students_60)

  65. while True:
  66.     print(tishi)
  67.     handle = input('请选择你要的操作选项:')
  68.     if handle == 'q':
  69.         print('q. 退出系统')
  70.         break
  71.     elif handle == '1':
  72.         display(students_list)
  73.     elif handle == '2':
  74.         add()
  75.     elif handle == '3':
  76.         print(find_by_num())
  77.     elif handle == '4':
  78.         delect()
  79.     elif handle == '5':
  80.         print(modify_by_name())
  81.     elif handle == '6':
  82.         select_by_num_60()
  83.     else:
  84.         print('请输入正确的操作选项!')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-12 02:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表