鱼C论坛

 找回密码
 立即注册
查看: 2572|回复: 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
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.num}\t{stu.name}\t{stu.sex}\t{stu.grade}')


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.grade >= 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()
    elif handle == '3':
        print(find_by_num())
    elif handle == '4':
        delect()
    elif handle == '5':
        print(modify_by_name())
    elif handle == '6':
        select_by_num_60()
    else:
        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 | 显示全部楼层    本楼为最佳答案   
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.num}\t{stu.name}\t{stu.sex}\t{stu.grade}')


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.grade >= 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()
    elif handle == '3':
        print(find_by_num())
    elif handle == '4':
        delect()
    elif handle == '5':
        print(modify_by_name())
    elif handle == '6':
        select_by_num_60()
    else:
        print('请输入正确的操作选项!')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 10:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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