Python作业(9.1-9.14)

Python第九章作业

9-1 餐馆 : 创建一个名为Restaurant 的类, 其方法__init__() 设置两个属性: restaurant_name cuisine_type 。 创建一个名为describe_restaurant() 的方法和一个名为open_restaurant() 的方法, 其中前者打印前述两项信息, 而后者打印一条消息, 指出餐馆正在营业。根据这个类创建一个名为restaurant 的实例, 分别打印其两个属性, 再调用前述两个方法。

class Restaurant():
	def __init__(self,restaurant_name ,cuisine_type):
		self.restaurant_name=restaurant_name
		self.cuisine_type=cuisine_type
	def describe_restaurant(self):
		print("The name of this restaurant is :"+self.restaurant_name)
		print("The type of this restaurant is :"+self.cuisine_type)
	def open_restaurant(self):
		print("It's OPEN now")
my_restaurant=Restaurant("KFC","Fast food")
print(my_restaurant.restaurant_name)
print(my_restaurant.cuisine_type)
my_restaurant.describe_restaurant()
my_restaurant.open_restaurant()
		



9-3 用户 : 创建一个名为User 的类, 其中包含属性first_name last_name , 还有用户简介通常会存储的其他几个属性。 在类User 中定义一个名为describe_user() 的方法, 它打印用户信息摘要; 再定义一个名为greet_user() 的方法, 它向用户发出个性化的问候。创建多个表示不同用户的实例, 并对每个实例都调用上述两个方法。

class User():
	def __init__(self,first_name,last_name):
		self.first_name=first_name
		self.last_name=last_name
	def describe_user(self):
		print("The user's name is "+self.first_name+" "+self.last_name)
	def greet_user(self):
		print("Hello, my frined")
my_user1=User("Yuan","Xu")
my_user2=User("Yidan","Xu")
my_user1.describe_user()
my_user1.greet_user()
my_user2.describe_user()
my_user2.greet_user()



9-4 就餐人数 : 在为完成练习9-1而编写的程序中, 添加一个名为number_served 的属性, 并将其默认值设置为0。 根据这个类创建一个名为restaurant 的实例; 打印有多少人在这家餐馆就餐过, 然后修改这个值并再次打印它。添加一个名为set_number_served() 的方法, 它让你能够设置就餐人数。 调用这个方法并向它传递一个值, 然后再次打印这个值。添加一个名为increment_number_served() 的方法, 它让你能够将就餐人数递增。 调用这个方法并向它传递一个这样的值: 你认为这家餐馆每天可能接待的就餐人数。

class Restaurant():
	def __init__(self,restaurant_name ,cuisine_type ):
		self.restaurant_name=restaurant_name
		self.cuisine_type=cuisine_type
		self.number =0
	def set_number_served(self,number):
		self.number=number
	def increment_number_served(self,add):
		self.number+=add
	def describe_restaurant(self):
		print("The name of this restaurant is :"+self.restaurant_name)
		print("The type of this restaurant is :"+self.cuisine_type)
	def open_restaurant(self):
		print("It's OPEN now")
my_restaurant=Restaurant("KFC","Fast food")
print("The number of served man is "+str(my_restaurant.number))
my_restaurant.set_number_served(10)
print("After changing,the number is "+str(my_restaurant.number))
my_restaurant.increment_number_served(10)
print("Now,customers has increased 10,so the number of current customers is "+str(my_restaurant.number))


9-6 冰淇淋小店 : 冰淇淋小店是一种特殊的餐馆。 编写一个名为IceCreamStand 的类, 让它继承你为完成练习9-1或练习9-4而编写的Restaurant 类。 这两个版本的Restaurant 类都可以, 挑选你更喜欢的那个即可。 添加一个名为flavors 的属性, 用于存储一个由各种口味的冰淇淋组成的列表。 编写一个显示这些的方法。 创建一个IceCreamStand 实例, 并调用这个方法。

class IceCreamStand(Restaurant):
	def __init__(self,restaurant_name,cuisine_type):
		super().__init__(restaurant_name,cuisine_type)
		self.flavors=['strawberry','peach','apple','watermelon']
	def describe_flavors(self):
		print("There are four kinds of flavors:")
		print(self.flavors)
my_isCreamStand=IceCreamStand('Vow_xy','Icecream')
my_isCreamStand.describe_flavors()


9-10 导入Restaurant 类 : 将最新的Restaurant 类存储在一个模块中。 在另一个文件中, 导入Restaurant 类, 创建一个Restaurant 实例, 并调用Restaurant 的一个方法, 以确认import 语句正确无误

from restaurant import Restaurant

my_restaurant=Restaurant('XY','fruit salad')
my_restaurant.describe_restaurant()
my_restaurant.open_restaurant()


9-14 骰子 : 模块random 包含以各种方式生成随机数的函数, 其中的randint() 返回一个位于指定范围内的整数, 例如, 下面的代码返回一个1~6内的整数:
from random import randint
x = randint(1, 6)
请创建一个Die 类, 它包含一个名为sides 的属性, 该属性的默认值为6。 编写一个名为roll_die() 的方法, 它打印位于1和骰子面数之间的随机数。 创建一个6面的骰子, 再掷10次。 创建一个10面的骰子和一个20面的骰子, 并将它们都掷10次。

from random import randint
class Die():
	def __init__(self,sides=6):
		self.sides=sides
	def roll_die(self):
		print(randint(1,self.sides))
six_die=Die(6)
ten_die=Die(10)
twenty_die=Die(20)
for number in range(1,11):
	six_die.roll_die()
print("*****************************")
for number in range(1,11):
	ten_die.roll_die()
print("*****************************")
for number in range(1,11):
	twenty_die.roll_die()






猜你喜欢

转载自blog.csdn.net/qq_36755175/article/details/79784174
9.1