zoukankan      html  css  js  c++  java
  • 学生选课系统


    学生:


    信息: 学号, 姓名, 住址. 选的课程列列表。
    功能:
    查看: 查看该学生所有课程信息.
    添加课程: 把选好的课程添加到课程列列表中 (传参)


    课程:


    信息: 课程编号, 课程名称. 老师。
    功能:
    查看: 查看该课程的全部信息
    设置老师: 给当前课程设置一个老师. (传参)


    老师:


    信息: 老师编号, 老师名称. 电话
    功能: 无
    请完成以上三个类. 创建6个课程, 6个老师. 给课程安排好老师. 然后创建30个学生.
    每个学生随机被分配3个课程. 最终显示出这30个学生的选课情况以及任课老师的电话

    class Student:
    def __init__(self, sno, sname):
    self.sno = sno
    self.sname = sname
    self.cour_list = []

    def chakan(self): # 查看课程
    for c in self.cour_list:
    print(f"{self.sname}选了{c.cname}")

    def tianjia(self, cour): # 添加课程
    self.cour_list.append(cour)


    class Course:
    def __init__(self, cno, cname, teacher=None):
    self.cno = cno
    self.cname = cname
    self.teacher = teacher

    def chakan(self):
    print(f"{self.cno}, {self.cname}, {self.teacher.tname}")

    # 设置老师
    def shezhilaoshi(self, teacher):
    self.teacher = teacher

    class Teacher:
    def __init__(self, tno, tname, tphone):
    self.tno = tno
    self.tname = tname
    self.tphone = tphone

    '''
    请完成以上三个类. 创建6个课程, 6个老师. 给课程安排好老师. 然后创建30个学⽣.
    每个学⽣随机被分配3个课程. 最终显⽰出这三⼗个学⽣的选课情况以及任课老师的电话
    '''

    # 准备生成随机数
    from random import randint


    c1 = Course("01", "抽烟")
    c2 = Course("02", "喝酒")
    c3 = Course("03", "烫头")
    c4 = Course("04", "点烟")
    c5 = Course("05", "倒酒")
    c6 = Course("06", "给人烫头")

    t1 = Teacher("01", "唐伯虎", "13301122001")
    t2 = Teacher("02", "祝枝山", "13301122002")
    t3 = Teacher("03", "文征明", "13301122003")
    t4 = Teacher("04", "李白", "13301122004")
    t5 = Teacher("05", "黄冠", "13301122005")
    t6 = Teacher("06", "谢晋", "13301122006")

    # 给课程设置老师
    c1.shezhilaoshi(t1)
    c2.shezhilaoshi(t2)
    c3.shezhilaoshi(t3)
    c4.shezhilaoshi(t4)
    c5.shezhilaoshi(t5)
    c6.shezhilaoshi(t6)

    # 0 1 2 3 4 5 # 0-5
    c_lst = [c1, c2, c3, c4, c5, c6]

    stu_lst = []

    for i in range(30): # 循环30次.
    stu = Student(i, "学生"+str(i)) # 创建30个学生

    # 生成随机的三个数字. 对应的是三个课程索引
    s = set()
    while len(s) < 3:
    s.add(randint(0, 5))

    # 把随机的三个课程索引对应的课程设置给学生
    for n in s:
    # print(n) # ???? 随机出来的课程的索引
    stu.tianjia(c_lst[n])

    stu_lst.append(stu) # 加到列表


    # 显示学生的选课情况以及老师的电话
    for s in stu_lst:
    print(f"学生编号:{s.sno}, 学生姓名:{s.sname}")

    # 拿到学生的课程信息
    for c in s.cour_list:
    print(f" 课程编号:{c.cno}, 课程名称: {c.cname}, 任课老师的电话是:{c.teacher.tphone}")


    '''
    面向对象:
    1. 先写类. 属性,功能 -> 对需求了如指掌
    2. 对象就是一坨内存地址.
    '''
  • 相关阅读:
    点击劫持漏洞之理解 python打造一个挖掘点击劫持漏洞的脚本
    URL重定向漏洞,python打造URL重定向漏洞检测脚本
    动态链接库(DLL)
    vs不支持通过afxgetmainwnd()获取窗口句柄(转)
    HALCON学习-下载、安装
    HALCON学习-资料
    MFC,ADO方式实现数据库操作
    VS2010 EXCEL2010 表格操作的编程实现
    Git Compare with base,比较大文件时,长时间等待,无法加载
    VS2010编译VS2008工程时,LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
  • 原文地址:https://www.cnblogs.com/bpbl/p/10209066.html
Copyright © 2011-2022 走看看