近階段,拔高提升能力的題目總結
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"\t課程編號:{c.cno}, 課程名稱: {c.cname}, 任課老師的電話是:{c.teacher.tphone}") ''' 面向物件: 1. 先寫類. 屬性,功能 -> 對需求瞭如指掌 2. 物件就是一坨記憶體地址. '''
3