Studentenverwaltungssystem -------- Funktion, objektorientiert

Inhaltsverzeichnis

1. Funktion

Zweitens, objektorientiert

1、main.py

2. Management

3. Studenten


1. Funktion

# Definieren Sie die Studentenliste und speichern Sie alle Studenteninformationen
stu_list = []


def show_menu():
    print('1. Schüler hinzufügen')
    print('2. Schüler löschen')
    print('3. Schülerinformationen ändern')
    print('4. Informationen zu einzelnen Schülern abfragen')
    print('5. Alle Schülerinformationen abfragen')
    print('6. Verlassen Sie das System')


def insert_student():
    # 1. Erhalten Sie Schülerinformationen, Namen, Alter und Geschlecht über die Eingabefunktion
    name = input('Bitte geben Sie den Namen des Schülers ein:')
    # [{}, {}, {}] beurteilt, ob der Wert im Wörterbuch vorhanden ist
    für stu in stu_list:
        if stu['name'] == name:
            print('----------Schülerinformationen vorhanden---------')
            return # beendet die Ausführung der Funktion

    age = input('Bitte geben Sie das Alter des Schülers ein:')
    gender = input('Bitte geben Sie das Geschlecht des Schülers ein:')
    # 2. Konvertieren Sie Schülerinformationen zur Speicherung in ein Wörterbuch
    stu_dict = {'name': name, 'age': int(age), 'gender': gender}
    # 3. Fügen Sie dieses Schülerwörterbuch zur Liste hinzu
    stu_list.append(stu_dict)
    print('===============Schülerinformationen erfolgreich hinzugefügt ======================')


def remove_student():
    # 1. Verwenden Sie die Eingabe, um den Namen des Schülers abzurufen, der gelöscht/geändert/abgefragt werden soll
    name = input('Bitte geben Sie den Namen des zu bedienenden Schülers ein:')
    # 2. Stellen Sie fest, ob die Schülerinformationen vorhanden sind
    für stu in stu_list:
        if stu['name'] == name:
            # 3. Der Student existiert, löschen/ändern/fragen Sie den Studenten ab
            stu_list.remove(stu)
            # zurückkehren
            brechen
    # 4. Studenteninformationen sind nicht vorhanden, beenden Sie direkt
    anders:
        print('***************Die Studenteninformationen existieren nicht, können nicht gelöscht werden****************')


def modifizieren_student():
    # 1. Verwenden Sie die Eingabe, um den Namen des Schülers abzurufen, der gelöscht/geändert/abgefragt werden soll
    name = input('Bitte geben Sie den Namen des zu bedienenden Schülers ein:')
    # 2. Stellen Sie fest, ob die Schülerinformationen vorhanden sind
    für stu in stu_list:
        if stu['name'] == name:
            # 3. Der Student existiert, löschen/ändern/fragen Sie den Studenten ab
            stu['age'] = int(input('Bitte geben Sie ein neues Alter ein:'))
            # zurückkehren
            brechen
    # 4. Studenteninformationen sind nicht vorhanden, beenden Sie direkt
    anders:
        print('***************Die Studenteninformationen sind nicht vorhanden und können nicht geändert werden***************')


def search_student():
    # 1. Verwenden Sie die Eingabe, um den Namen des Schülers abzurufen, der gelöscht/geändert/abgefragt werden soll
    name = input('Bitte geben Sie den Namen des zu bedienenden Schülers ein:')
    # 2. Stellen Sie fest, ob die Schülerinformationen vorhanden sind
    für stu in stu_list:
        if stu['name'] == name:
            # 3. Der Student existiert, löschen/ändern/fragen Sie den Studenten ab
            print(f'name:{stu["name"]}, Alter:{stu["age"]}, Geschlecht:{stu["gender"]}')
            # zurückkehren
            brechen
    # 4. Studenteninformationen sind nicht vorhanden, beenden Sie direkt
    anders:
        print('**********Die Studenteninformationen existieren nicht******************')


def show_all_info():
    wenn len(stu_list) > 0:
        für stu in stu_list:
            print(f'name:{stu["name"]}, Alter:{stu["age"]}, Geschlecht:{stu["gender"]}')
            # print(stu)
    anders:
        print('Derzeit keine Studenteninformationen')


def main():
    während True:
        zeige das Menü()
        opt = input('Bitte geben Sie die Vorgangsnummer zur Auswahl ein:')
        wenn opt == '1':
            # print('1. Schüler hinzufügen')
            insert_student()
        elif opt == '2':
            # print('2. Schüler löschen')
            remove_student()
        elif opt == '3':
            # print('3. Schülerinformationen ändern')
            modifizieren_student()
        elif opt == '4':
            # print('4. Informationen zu einem einzelnen Schüler abfragen')
            search_student()
        elif opt == '5':
            # print('5. Alle Schülerinformationen abfragen')
            show_all_info()
        elif opt == '6':
            print('Willkommen, dieses System das nächste Mal zu verwenden...')
            brechen
        anders:
            print('Falsche Eingabe, bitte erneut eingeben')
            weitermachen

        input('...Eingabetaste, um den Vorgang fortzusetzen...')


hauptsächlich()

Zweitens, objektorientiert

1、main.py

import student_manager_system as sms


if __name__ == '__main__':
    stu_sms = sms.StudentManagerSystem()
    stu_sms.start()

2. Management

import student


class StudentManagerSystem(object):
    def __init__(self):
        self.stu_dicts = {}

    @staticmethod
    def __show_menu():
        print('1. 添加学生')
        print('2. 删除学生')
        print('3. 修改学生信息')
        print('4. 查询单个学生信息')
        print('5. 查询所有的学生信息')
        print('6. 退出系统')

    def __insert_student(self):
        # 1. 使用 input 获取学生的信息
        stu_id = input('请输入学生学号:')
        # 代码优化, 判断学生信息是否存在, 学号是否存在. 判断字典的key是否存在
        if stu_id in self.stu_dicts:  # key存在返回True
            print('学生信息已经存在, 不需要再次添加.........')
            return
        name = input('请输入学生名字:')
        age = input('请输入学生年龄:')
        gender = input('请输入学生性别:')

        # 2. 使用学生信息,创建学生对象  学生类(参数)
        stu = student.Student(stu_id, name, age, gender)
        # 3. 将学生对象添加的字典中 字典['key'] = 数据值
        self.stu_dicts[stu_id] = stu

    def __remove_student(self):
        # 1. 使用 input 输入学生学号
        stu_id = input('请输入学号:')
        # 2. 判断学生信息是否存在
        if stu_id in self.stu_dicts:
            # 3. 存在进行操作, 删除字典中的数据,  del 变量[key]
            del self.stu_dicts[stu_id]
            print('学生已经删除')
        else:
            print('学生信息不存在,无法删除.....')

    def __modify_student(self):
        # 1. 使用 input 输入学生学号
        stu_id = input('请输入学号:')
        # 2. 判断学生信息是否存在
        if stu_id in self.stu_dicts:
            # 修改对象的属性  对象.属性名 = 属性值
            stu = self.stu_dicts[stu_id]  # 字典[key]
            stu.age = input('请输入新的年龄:')
            print('信息已经修改完毕.....')
        else:
            print('学生信息不存在,无法删除.....')

    def __search_student(self):
        # 1. 使用 input 输入学生学号
        stu_id = input('请输入学号:')
        # 2. 判断学生信息是否存在
        if stu_id in self.stu_dicts:
            # 修改对象的属性  对象.属性名 = 属性值
            stu = self.stu_dicts[stu_id]  # 字典[key]
            print(stu)
        else:
            print('学生信息不存在,无法删除.....')

    def __show_all_info(self):
        for stu in self.stu_dicts.values():
            print(stu)

    def __save(self):
        f = open('student.txt', 'w', encoding='utf-8')
        for stu in self.stu_dicts.values():
            f.write(str(stu) + '\n')  # str(stu) 调用 student类中的__str__ 方法
        f.close()

    def __load_info(self):
        try:
            f = open('student.txt', 'r', encoding='utf-8')
            buf_list = f.readlines()
            for buf in buf_list:
                buf = buf.strip()  # 去重\n
                info_list = buf.split(',')  # 列表
                # 创建对象
                # stu = student.Student(info_list[0], info_list[1], info_list[2], info_list[3])
                stu = student.Student(*info_list)
                #  将对象添加到字典中
                stu_id = info_list[0]
                self.stu_dicts[stu_id] = stu
            f.close()
        except Exception:
            pass

    def start(self):
        self.__load_info()
        while True:
            self.__show_menu()
            opt = input('请输入用来选择的操作编号:')
            if opt == '1':
                # print('1. 添加学生')
                self.__insert_student()
            elif opt == '2':
                # print('2. 删除学生')
                self.__remove_student()
            elif opt == '3':
                # print('3. 修改学生信息')
                self.__modify_student()
            elif opt == '4':
                # print('4. 查询单个学生信息')
                self.__search_student()
            elif opt == '5':
                # print('5. 查询所有的学生信息')
                self.__show_all_info()
            elif opt == '6':
                self.__save()
                print('欢迎下次使用本系统......')
                break
            else:
                print('输入有误,请再次输入')
                continue

            input('...... 回车键继续操作.......')

3. Studenten

class Student(object):
    def __init__(self, stu_id, name, age, gender):
        self.stu_id = stu_id
        self.name = name
        self.age = age
        self.gender = gender

    def __str__(self):
        return f"{self.stu_id},{self.name},{self.age},{self.gender}"


if __name__ == '__main__':
    stu = Student(1, 'aa', 18, 'm')
    print(stu)

Supongo que te gusta

Origin blog.csdn.net/m0_46493223/article/details/126090931
Recomendado
Clasificación