第九章python作業

9-1 餐館 :創建一個名爲Restaurant 的類,其方法__init__() 設置兩個屬性:restaurant_name 和cuisine_type 。創建一個名

爲describe_restaurant() 的方法和一個名爲open_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("restaurant_name:"+self.restaurant_name)
		print("cuisine_type:"+self.cuisine_type)
	def open_restaurant(self):
		print("Restaurant is open")
res=Restaurant("Happy","Chinese")
res.describe_restaurant()
res.open_restaurant()
9-4 就餐人數 :在爲完成練習9-1而編寫的程序中,添加一個名爲number_served 的屬性,並將其默認值設置爲0。根據這個類創建一個名爲restaurant 的實例;打印有多少人在這家餐館就餐過,然後修改這個值並再次打印它。
添加一個名爲set_number_served() 的方法,它讓你能夠設置就餐人數。調用這個方法並向它傳遞一個值,然後再次打印這個值。
添加一個名爲increment_number_served() 的方法,它讓你能夠將就餐人數遞增。調用這個方法並向它傳遞一個這樣的值:你認爲這家餐館每天可能接待的就餐人數。
class Restaurant():
	def __init__(self,restaurant_name,cuisine_type,number_served=0):
		self.restaurant_name=restaurant_name
		self.cuisine_type=cuisine_type
	def describe_restaurant(self):
		print("restaurant_name:"+self.restaurant_name)
		print("cuisine_type:"+self.cuisine_type)
	def open_restaurant(self):
		print("Restaurant is open")
	def set_number_served(self,num):
		self.number_served=num
	def increment_number_served(self,num):
		self.number_served+=num
restaurant=Restaurant("Happy","Chinese")
restaurant.number_served=5
print(restaurant.number_served)
restaurant.set_number_served(10)
print(restaurant.number_served)
restaurant.increment_number_served(10)
print(restaurant.number_served)
"""
5
10
20
"""

9-6 冰淇淋小店 :冰淇淋小店是一種特殊的餐館。編寫一個名爲IceCreamStand 的類,讓它繼承你爲完成練習9-1或練習9-4而編寫的Restaurant 類。這兩個版本的Restaurant 類都可以,挑選你更喜歡的那個即可。添加一個名爲flavors 的屬性,用於存儲一個由各種口味的冰淇淋組成的列表。編寫一個顯示這些冰淇淋的方法。創建一個IceCreamStand 實例,並調用這個方法。

class Restaurant():
	def __init__(self,restaurant_name,cuisine_type,number_served=0):
		self.restaurant_name=restaurant_name
		self.cuisine_type=cuisine_type
	def describe_restaurant(self):
		print("restaurant_name:"+self.restaurant_name)
		print("cuisine_type:"+self.cuisine_type)
	def open_restaurant(self):
		print("Restaurant is open")
	def set_number_served(self,num):
		self.number_served=num
	def increment_number_served(self,num):
		self.number_served+=num
class IceCreamStand(Restaurant):
	def __init__(self,restaurant_name,cuisine_type,number_served,flavors):
		super().__init__(restaurant_name,cuisine_type,number_served)
		self.flavors=flavors
	def describe_restaurant(self):
		super().describe_restaurant()
		print("flavors:",end='')
		print(self.flavors)
res=IceCreamStand("Happy","Ice Cream Restaurant",5,["apple","banana","vanilla"])
res.describe_restaurant()
"""
restaurant_name:Happy
cuisine_type:Ice Cream Restaurant
flavors:['apple', 'banana', 'vanilla']
"""

9-10 導入Restaurant 類 :將最新的Restaurant 類存儲在一個模塊中。在另一個文件中,導入Restaurant 類,創建一個Restaurant 實例,並調用Restaurant 的一個方法,以確認import 語句正確無誤。

class Restaurant():
	def __init__(self,restaurant_name,cuisine_type,number_served=0):
		self.restaurant_name=restaurant_name
		self.cuisine_type=cuisine_type
	def describe_restaurant(self):
		print("restaurant_name:"+self.restaurant_name)
		print("cuisine_type:"+self.cuisine_type)
	def open_restaurant(self):
		print("Restaurant is open")
	def set_number_served(self,num):
		self.number_served=num
	def increment_number_served(self,num):
		self.number_served+=num
class IceCreamStand(Restaurant):
	def __init__(self,restaurant_name,cuisine_type,number_served,flavors):
		super().__init__(restaurant_name,cuisine_type,number_served)
		self.flavors=flavors
	def describe_restaurant(self):
		super().describe_restaurant()
		print("flavors:",end='')
		print(self.flavors)
"""
restaurant.py
"""
from restaurant import Restaurant
res=Restaurant("happy","Chinese",5)
res.describe_restaurant()


"""
a.py
restaurant_name:happy
cuisine_type:Chinese
"""
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),end=" ")
	def roll_10_times(self):
		for i in range(0,10):
			self.roll_die()
		print("")
a=Die()
a.roll_10_times()
b=Die(10)
b.roll_10_times()
c=Die(20)
c.roll_10_times()
"""
6 1 5 2 2 3 4 1 2 3
4 9 7 6 8 6 8 1 4 6
10 5 16 9 15 9 6 19 14 15
"""

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章