【解决方案】

  1. 建立学生类、兴趣类、兴趣类型类
class Student:
    def __init__(self, student_id, name, gender, hobbies):
        self.student_id = student_id
        self.name = name
        self.gender = gender
        self.hobbies = hobbies

    def __str__(self):
        return f"Student ID: {self.student_id}\nName: {self.name}\nGender: {self.gender}\nHobbies: {', '.join(self.hobbies)}"


class Interest:
    def __init__(self, interest_id, interest_type):
        self.interest_id = interest_id
        self.interest_type = interest_type

    def __str__(self):
        return f"Interest ID: {self.interest_id}\nInterest Type: {self.interest_type}"


class InterestType:
    def __init__(self, type_id, type_name):
        self.type_id = type_id
        self.type_name = type_name

    def __str__(self):
        return f"Type ID: {self.type_id}\nType Name: {self.type_name}"
  1. 学生、兴趣、兴趣类型信息的初始化
def initialize_data():
    students = []
    interests = []
    interest_types = []

    # Initialize student data
    student1 = Student("001", "John", "Male", ["Reading", "Music"])
    student2 = Student("002", "Mary", "Female", ["Sports", "Painting"])
    students.append(student1)
    students.append(student2)

    # Initialize interest data
    interest1 = Interest("001", "Reading")
    interest2 = Interest("002", "Music")
    interest3 = Interest("003", "Sports")
    interest4 = Interest("004", "Painting")
    interests.append(interest1)
    interests.append(interest2)
    interests.append(interest3)
    interests.append(interest4)

    # Initialize interest type data
    type1 = InterestType("001", "Literature")
    type2 = InterestType("002", "Music")
    type3 = InterestType("003", "Sports")
    type4 = InterestType("004", "Art")
    interest_types.append(type1)
    interest_types.append(type2)
    interest_types.append(type3)
    interest_types.append(type4)

    return students, interests, interest_types
  1. 学生、兴趣、兴趣类型信息的添加、修改、删除、查找
def add_student(students, student_id, name, gender, hobbies):
    student = Student(student_id, name, gender, hobbies)
    students.append(student)


def add_interest(interests, interest_id, interest_type):
    interest = Interest(interest_id, interest_type)
    interests.append(interest)


def add_interest_type(interest_types, type_id, type_name):
    type = InterestType(type_id, type_name)
    interest_types.append(type)


def modify_student(students, student_id, name, gender, hobbies):
    for student in students:
        if student.student_id == student_id:
            student.name = name
            student.gender = gender
            student.hobbies = hobbies


def modify_interest(interests, interest_id, interest_type):
    for interest in interests:
        if interest.interest_id == interest_id:
            interest.interest_type = interest_type


def modify_interest_type(interest_types, type_id, type_name):
    for type in interest_types:
        if type.type_id == type_id:
            type.type_name = type_name


def delete_student(students, student_id):
    for student in students:
        if student.student_id == student_id:
            students.remove(student)


def delete_interest(interests, interest_id):
    for interest in interests:
        if interest.interest_id == interest_id:
            interests.remove(interest)


def delete_interest_type(interest_types, type_id):
    for type in interest_types:
        if type.type_id == type_id:
            interest_types.remove(type)


def find_student_by_id(students, student_id):
    for student in students:
        if student.student_id == student_id:
            return student
    return None


def find_interest_by_id(interests, interest_id):
    for interest in interests:
        if interest.interest_id == interest_id:
            return interest
    return None


def find_interest_type_by_id(interest_types, type_id):
    for type in interest_types:
        if type.type_id == type_id:
            return type
    return None
  1. 学生兴趣信息的输出
def print_student_interests(students, interests):
    for student in students:
        print(student)
        print("Interests:")
        for hobby in student.hobbies:
            interest = find_interest_by_id(interests, hobby)
            if interest:
                print(interest)
        print("----------------------------------")


def print_all_interests(interests, interest_types):
    for interest in interests:
        print(interest)
        type = find_interest_type_by_id(interest_types, interest.interest_type)
        if type:
            print(type)
        print("----------------------------------")
  1. 将学生兴趣信息保存为文件
def save_student_interests(students, interests, filename):
    with open(filename, 'w') as file:
        for student in students:
            file.write(str(student) + "\n")
            file.write("Interests:\n")
            for hobby in student.hobbies:
                interest = find_interest_by_id(interests, hobby)
                if interest:
                    file.write(str(interest) + "\n")
            file.write("----------------------------------\n")


# Example usage:

students, interests, interest_types = initialize_data()

add_student(students, "003", "David", "Male", ["Sports", "Music"])
add_interest(interests, "005", "Dancing")
add_interest_type(interest_types, "005", "Performing Arts")

modify_student(students, "002", "Mary Smith", "Female", ["Sports", "Painting", "Music"])
modify_interest(interests, "004", "Photography")
modify_interest_type(interest_types, "004", "Visual Arts")

delete_student(students, "001")
delete_interest(interests, "002")
delete_interest_type(interest_types, "002")

student = find_student_by_id(students, "002")
if student:
    print(student)
else:
    print("Student not found")

interest = find_interest_by_id(interests, "004")
if interest:
    print(interest)
else:
    print("Interest not found")

interest_type = find_interest_type_by_id(interest_types, "002")
if interest_type:
    print(interest_type)
else:
    print("Interest type not found")

print_student_interests(students, interests)
print_all_interests(interests, interest_types)

save_student_interests(students, interests, "student_interests.txt")

这样,你就可以通过调用相应的函数来实现学生兴趣信息的添加、修改、删除和查询,并将学生兴趣信息保存到文件中

题目19:课外兴趣小组管理19【问题描述】1该系统主要处理课外兴趣小组的相关信息。2学生信息主要包括:学号、姓名、性别、兴趣爱好等内容。3兴趣主要包括:兴趣编号、兴趣类型等内容。4完成以下的操作:实现学生兴趣信息的添加、修改、删除和查询。【任务要求】1建立学生类、兴趣类、兴趣类型类2学生、兴趣、兴趣类型信息的初始化3学生、兴趣、兴趣类型信息的添加、修改、删除、查找4学生兴趣信息的输出5将学生兴趣信

原文地址: https://www.cveoy.top/t/topic/hB3J 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录