1. 程式人生 > >第五週作業——第九章動手試一試

第五週作業——第九章動手試一試

9-1 餐館 餐館 :建立一個名為Restaurant 的類,其方法__init__() 設定兩個屬性:restaurant_name 和cuisine_type 。建立一個名 為describe_restaurant() 的方法和一個名為open_restaurant() 的方法,其中前者列印前述兩項資訊,而後者列印一條訊息,指出餐館正在營業。 根據這個類建立一個名為restaurant 的例項,分別列印其兩個屬性,再呼叫前述兩個方法
class Restaurant():
	def __init__(self,name,cuisine_type):
		self.restaurant_name=name
		self.cuisine_type=cuisine_type
		
	def describe_restaurant(self):
		print("this is a "+self.cuisine_type+" restaurant named "+self.restaurant_name)
		
	def open_restaurant(self):
		print("this is open")
	
restaurant=Restaurant('xiao ming can guan','chinese')
print(restaurant.restaurant_name)
print(restaurant.cuisine_type)
restaurant.describe_restaurant()
restaurant.open_restaurant()
9-4 就餐人數 就餐人數 :在為完成練習9-1而編寫的程式中,新增一個名為number_served 的屬性,並將其預設值設定為0。根據這個類建立一個名為restaurant 的實 例;列印有多少人在這家餐館就餐過,然後修改這個值並再次列印它。 新增一個名為set_number_served() 的方法,它讓你能夠設定就餐人數。呼叫這個方法並向它傳遞一個值,然後再次列印這個值。 新增一個名為increment_number_served() 的方法,它讓你能夠將就餐人數遞增。呼叫這個方法並向它傳遞一個這樣的值:你認為這家餐館每天可能接待的就 餐人數。
class Restaurant():
	def __init__(self,name,cuisine_type):
		self.restaurant_name=name
		self.cuisine_type=cuisine_type
		self.number_served=0
		
		
	def describe_restaurant(self):
		print("this is a "+self.cuisine_type+" restaurant named "+self.restaurant_name)
		print(str(self.number_served)+' customer have come to it')
	def open_restaurant(self):
		print("this is open")
	def set_number_served(self,number):
		self.number_served=number
	def increment_number_served(self,number):
		self.number_served+=number
		
	
restaurant=Restaurant('xiao ming can guan','chinese')

restaurant.describe_restaurant()
restaurant.number_served =4
restaurant.describe_restaurant()
restaurant.set_number_served(3)
restaurant.describe_restaurant()
restaurant.increment_number_served(5)
restaurant.describe_restaurant()
9-6 冰淇淋小店 冰淇淋小店 :冰淇淋小店是一種特殊的餐館。編寫一個名為IceCreamStand 的類,讓它繼承你為完成練習9-1或練習9-4而編寫的Restaurant 類。這兩個版 本的Restaurant 類都可以,挑選你更喜歡的那個即可。新增一個名為flavors 的屬性,用於儲存一個由各種口味的冰淇淋組成的列表。編寫一個顯示這些冰淇淋 的方法。建立一個IceCreamStand 例項,並呼叫這個方法。
class Restaurant():
	def __init__(self,name,cuisine_type):
		self.restaurant_name=name
		self.cuisine_type=cuisine_type
		self.number_served=0
		
		
	def describe_restaurant(self):
		print("this is a "+self.cuisine_type+" restaurant named "+self.restaurant_name)
		print(str(self.number_served)+' customer have come to it')
	
		
class IceCreamStand(Restaurant):
	def __init__(self,name,cuisine_type,flavors):
		super().__init__(name,cuisine_type)
		self.flavors=flavors
	def show_flavors(self):
		print(self.flavors)
		
		
myshop=IceCreamStand('Ice shop','sweet',['milk','strawberry','mango'])
myshop.describe_restaurant()
myshop.show_flavors()
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))

i=0
die6=Die()
while i<10:
	die6.roll_die()
	i+=1
print("\n")
i=0
die10=Die(10)
while i<10:
	die10.roll_die()
	i+=1
print("\n")
i=0
die20=Die(20)
while i<10:
	die20.roll_die()
	i+=1
print("\n")