zoukankan      html  css  js  c++  java
  • 近阶段,拔高提升能力的题目总结

    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

  • 相关阅读:
    【Codechef】Chef and Bike(二维多项式插值)
    USACO 完结的一些感想
    USACO 6.5 Checker Challenge
    USACO 6.5 The Clocks
    USACO 6.5 Betsy's Tour (插头dp)
    USACO 6.5 Closed Fences
    USACO 6.4 Electric Fences
    USACO 6.5 All Latin Squares
    USACO 6.4 The Primes
    USACO 6.4 Wisconsin Squares
  • 原文地址:https://www.cnblogs.com/studybrother/p/10159586.html
Copyright © 2011-2022 走看看