• 近阶段,拔高提升能力的题目总结


    1.各个商城的类基础

    完成⽹网上商城订单的功能. 写出基本结构和基本操作即可. 把结构⼀一定列列出来, 操作可 以没有, 想清楚各个类之间的关系应该是什什么样的.(升级题) 每个⽤用户都有⼀一堆订单. 每个订单有⼀一堆订单明细. 每个明细对应⼀一个商品
    用户
      信息: ⽤用户编号, 昵称, ⽤用户名, 密码, 电话, email, 家庭住址, ⾝身份证号
    订单
      信息: 订单编号, 流⽔水号, 所属⽤用户编号, 收货地址. 邮费. 订单状态(0:是 否发货, 1:是否收货, 2: 是否退货), 评价编号.
    评价
      信息: 评价编号, 评价分数, 评价内容, 评价显⽰示(0:显⽰示, 1:不显⽰示), 评价 类型(1: 物流评价, 2: 服务评价, 3: 商品评价) 订单明细
      信息: 明细编号, ⼩小流⽔水号, 商品购买时价格, 购买数量量. 商品编号.
    商品
      信息: 商品编号, 商品名称, 商品描述, 商品价格, 商品库存.

    # class User:
    #     def __init__(self, id, nickname, usernmae, password, phone, email, address, idCard):
    #         self.id = id # 1
    #         self.nickname = nickname
    #         self.order_list = []
    #
    # class Order:
    #     def __init__(self, id, liushui,  address, youfei, order_status, user):
    #         self.id = id
    #         self.liushui = liushui
    #         self.user = user
    #
    # class Pingjia:
    #     def __init__(self, id, fenshu, content, display, pj_type):
    #         self.id = id
    #         self.fenshu = fenshu
    #
    # class OrderDetail:
    #     def __init__(self, id, xiaoliushui,  price, num, product, pingjia = None): # price:购买的时候的价格
    #         self.id = id
    #         self.pingjia = pingjia
    #         self.product = product
    #
    # class Product:
    #     def __init__(self, id, name, title, content, kucun, price, manjian):
    #         self.id = id

    2

    完成学⽣生选课系统. (升级题)

    学⽣选课.

      学⽣:

        信息: 学号, 姓名, 住址. 选的课程列列表,

        功能: 查看: 查看该学⽣生所有课程信息.

            添加课程: 把选好的课程添加到课程列列表中 (传参)

      课程:

         信息: 课程编号, 课程名称. 老师.

         功能:

           查看: 查看该课程的全部信息

          设置老师: 给当前课程设置⼀一个老师. (传参)

      老师:

         信息: 老师编号, 老师名称. 电话

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

    这个题目真的是能经得起,多次推敲思考的一个题目:

    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. 对象就是一坨内存地址. 
    '''

    3

  • 相关阅读:
    Javascript是单线程的深入分析
    非阻塞式JavaScript脚本介绍
    javascript 关于函数的返回值
    javascript运算符的优先级
    JavaScript 中的 this
    javascript中关于坐标 大小 的描述
    Javascript引擎单线程机制及setTimeout执行原理说明
    回车登录页面的问题
    有关架构的若干思考
    Bootstrap3 模态框 select2搜索框无法输入
  • 原文地址:https://www.cnblogs.com/studybrother/p/10159586.html
Copyright © 2020-2023  润新知