“Python案例:BookStore类及实例”的版本间的差异
来自CloudWiki
第22行: | 第22行: | ||
4)在main方法中分别调用以上属性及方法。 | 4)在main方法中分别调用以上属性及方法。 | ||
+ | |||
+ | |||
+ | 代码: | ||
+ | |||
+ | <nowiki> | ||
+ | class BookStore: | ||
+ | book = {"新华字典": 10,"新概念英语":5} | ||
+ | |||
+ | def __init__(self,num,name): | ||
+ | self.__num = num | ||
+ | self.name = name | ||
+ | |||
+ | @classmethod#类方法 | ||
+ | def showAllBooks(cls): | ||
+ | |||
+ | for i in cls.book: | ||
+ | print("书籍名称:",i,"书籍数量:",cls.book.get(i)) | ||
+ | |||
+ | def addBook(self,name,num):#实例方法 | ||
+ | self.book[name] = num | ||
+ | print("添加成功!") | ||
+ | |||
+ | def delBook(self,name):#实例方法 | ||
+ | del self.book[name] | ||
+ | print("删除成功!") | ||
+ | |||
+ | def findBook(self,name):#实例方法 | ||
+ | print(name+"现有数量:",self.book.get(name,"该书无库存")) | ||
+ | |||
+ | @staticmethod#静态方法 | ||
+ | def ShowSystemName(store_name): | ||
+ | print(store_name) | ||
+ | |||
+ | |||
+ | if __name__ == "__main__": | ||
+ | |||
+ | bs = BookStore(15,"小当当书店管理系统") | ||
+ | BookStore.showAllBooks() | ||
+ | |||
+ | s = input("请输入书籍名称和数量,用空格隔开") | ||
+ | bookname,num = s.split( ) | ||
+ | num = int(num) | ||
+ | bs.addBook(bookname,num) | ||
+ | bs.showAllBooks() | ||
+ | bs.delBook(bookname) | ||
+ | bs.showAllBooks() | ||
+ | bs.findBook("悲惨世界") | ||
+ | store_name ="小当当书店管理系统" | ||
+ | BookStore.ShowSystemName(store_name) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | </nowiki> |
2023年4月24日 (一) 01:43的最新版本
题目要求:
1)建设在线书店管理系统 ,定义一个类BookStore
2) 该类有三个属性,
- 书籍的字典,用来查询各种书籍的数目,形如 {"新华字典": 10,"新概念英语":5}
- 书店的总书目 num ,该属性为私有属性
- 书店管理系统的名称name,字面值为“小当当书店管理系统”
3)为该类定义四个方法:
- 类方法showAllBooks,遍历并打印书店的全部书籍及其数量
- 实例方法addBook ,为书店添加书籍,书籍名称和数量来自用户输入
- 实例方法delBook ,为书店删除书籍,书籍名称和数量来自用户输入
- 静态方法ShowSystemName,打印书店管理系统的名称
4)在main方法中分别调用以上属性及方法。
代码:
class BookStore: book = {"新华字典": 10,"新概念英语":5} def __init__(self,num,name): self.__num = num self.name = name @classmethod#类方法 def showAllBooks(cls): for i in cls.book: print("书籍名称:",i,"书籍数量:",cls.book.get(i)) def addBook(self,name,num):#实例方法 self.book[name] = num print("添加成功!") def delBook(self,name):#实例方法 del self.book[name] print("删除成功!") def findBook(self,name):#实例方法 print(name+"现有数量:",self.book.get(name,"该书无库存")) @staticmethod#静态方法 def ShowSystemName(store_name): print(store_name) if __name__ == "__main__": bs = BookStore(15,"小当当书店管理系统") BookStore.showAllBooks() s = input("请输入书籍名称和数量,用空格隔开") bookname,num = s.split( ) num = int(num) bs.addBook(bookname,num) bs.showAllBooks() bs.delBook(bookname) bs.showAllBooks() bs.findBook("悲惨世界") store_name ="小当当书店管理系统" BookStore.ShowSystemName(store_name)