Question1
题目:创建一个名为 “Student” 的类
描述:
创建一个名为 “Student” 的类,每个实例都表示一个学生。类的属性和方法如下:
- 属性:
- 名字(name)
- 年龄(age)
- 成绩(scores),这是一个列表,包含三个成绩(例如数学,语文,英语)
- 方法:
- 获取学生姓名(get_name):返回学生的名字。
- 获取学生年龄(get_age):返回学生的年龄。
- 获取最高成绩(get_max_score):返回学生的最高成绩。
请用Python代码完成上述类的定义,并创建一个 “Student” 类的实例,名字为 “Tom”, 年龄为 16, 成绩为 85(数学),92(语文),88(英语)。然后调用上述方法,获取并打印学生的名字、年龄和最高成绩。
这是一个基础的Python类编程问题,要求理解和应用Python的类(class)、实例(instance)、属性(attributes)和方法(methods)等基本概念。
class Student:
def __init__(self, name, age, scores):
self.name = name
self.age = age
self.scores = scores
def get_name(self):
return self.name
def get_age(self):
return self.age
def get_max_score(self):
return max(self.scores)
# 创建一个Student类的实例
tom = Student('Tom', 16, [85, 92, 88])
# 获取并打印Tom的名字
print('名字:', tom.get_name())
# 获取并打印Tom的年龄
print('年龄:', tom.get_age())
# 获取并打印Tom的最高成绩
print('最高成绩:', tom.get_max_score())
这段代码首先定义了一个 Student
类,包含了 __init__
构造函数,用于初始化实例的属性,以及三个方法,分别获取名字、年龄和最高成绩。然后,我们创建了一个 Student
类的实例 tom
,并通过调用方法,获取并打印了 Tom 的名字、年龄和最高成绩。
Question 2
题目:创建一个名为 “Book” 的类
描述:
创建一个名为 “Book” 的类,每个实例都表示一本书。类的属性和方法如下:
- 属性:
- 标题(title)
- 作者(author)
- 价格(price)
- 销售量(sales), 初始为0
- 方法:
- 获取书名(get_title):返回书的标题。
- 获取作者(get_author):返回书的作者。
- 获取价格(get_price):返回书的价格。
- 销售书籍(sell_book):接受一个参数表示售出的数量,销售量加上售出的数量,返回销售总金额。
- 获取销售量(get_sales):返回销售量。
请用Python代码完成上述类的定义,并创建一个 “Book” 类的实例,标题为 “Python Programming”, 作者为 “John Smith”, 价格为 59.99。然后调用上述方法,获取并打印书的标题、作者和价格,再售出10本书,最后获取并打印销售量和销售总金额。
这个编程题目比之前的稍微复杂一些,需要处理一些属性的修改和计算。
这是答案:
class Book:
def __init__(self, title, author, price):
self.title = title
self.author = author
self.price = price
self.sales = 0
def get_title(self):
return self.title
def get_author(self):
return self.author
def get_price(self):
return self.price
def sell_book(self, quantity):
self.sales += quantity
return self.price * quantity
def get_sales(self):
return self.sales
# 创建一个Book类的实例
book = Book('Python Programming', 'John Smith', 59.99)
# 获取并打印书的标题
print('标题:', book.get_title())
# 获取并打印书的作者
print('作者:', book.get_author())
# 获取并打印书的价格
print('价格:', book.get_price())
# 销售10本书
total_sales_amount = book.sell_book(10)
print('销售总金额:', total_sales_amount)
# 获取并打印销售量
print('销售量:', book.get_sales())
这段代码首先定义了一个 Book
类,包含了 __init__
构造函数,用于初始化实例的属性,以及五个方法,分别获取标题、作者、价格,销售书籍和获取销售量。然后,我们创建了一个 Book
类的实例 book
,并通过调用方法,获取并打印了书的标题、作者和价格,售出了10本书,最后获取并打印了销售量和销售总金额。
Question 3
题目:创建一个名为 “Library” 的类
描述:
创建一个名为 “Library” 的类,每个实例都表示一个图书馆。类的属性和方法如下:
- 属性:
- 图书馆名字(name)
- 图书列表(books),这是一个列表,存放着图书馆里的所有书(用上述 “Book” 类的实例表示)
- 方法:
- 添加书籍(add_book):接受一个 “Book” 类的实例,将其添加到图书列表。
- 查找书籍(find_book):接受一个书名,返回那本书的作者和价格。如果没有找到,返回 “Book not found”。
- 销售书籍(sell_book):接受一个书名和销售数量,销售相应的书,返回销售总金额。如果没有找到书,返回 “Book not found”。
- 获取库存(get_inventory):返回图书馆当前的所有书的列表,每本书包含书名、作者、价格和销售量。
请用Python代码完成上述类的定义,并创建一个 “Library” 类的实例,名字为 “Central Library”。然后,创建两本 “Book” 类的实例,分别为 “Python Programming” 和 “Data Science”,并将它们添加到图书馆。接着,查找并销售 “Python Programming”,最后获取并打印图书馆的库存。
这个编程题目进一步增加了复杂性,需要在类的方法中处理列表,并在一个类的方法中使用另一个类的实例和方法。
这是答案:
class Library:
def __init__(self, name):
self.name = name
self.books = []
def add_book(self, book):
self.books.append(book)
def find_book(self, title):
for book in self.books:
if book.get_title() == title:
return book.get_author(), book.get_price()
return "Book not found"
def sell_book(self, title, quantity):
for book in self.books:
if book.get_title() == title:
return book.sell_book(quantity)
return "Book not found"
def get_inventory(self):
inventory = []
for book in self.books:
inventory.append((book.get_title(), book.get_author(), book.get_price(), book.get_sales()))
return inventory
# 创建一个Library类的实例
library = Library('Central Library')
# 创建两本Book类的实例并添加到图书馆
book1 = Book('Python Programming', 'John Smith', 59.99)
book2 = Book('Data Science', 'Jane Doe', 79.99)
library.add_book(book1)
library.add_book(book2)
# 查找并销售Python Programming
print('查找结果:', library.find_book('Python Programming'))
print('销售总金额:', library.sell_book('Python Programming', 5))
# 获取并打印图书馆的库存
print('库存:', library.get_inventory())
这段代码首先定义了一个 Library
类,包含了
__init__
构造函数,用于初始化实例的属性,以及四个方法,分别用于添加书籍、查找书籍、销售书籍和获取库存。然后,我们创建了一个 Library
类的实例 library
,并创建了两本 Book
类的实例,将它们添加到了图书馆。接着,我们查找并销售了 “Python Programming”,最后获取并打印了图书馆的库存。