9-4 就餐人数:在为完成练习 9-1 而编写的程序中,添加一个名为 number_served 的属性,并将其默认值设置为 0。根据这个类创建一个名为 restaurant 的实例;打印有 多少人在这家餐馆就餐过,然后修改这个值并再次打印它。
9-14 骰子:请创建一个 Die 类,它包含一个名为 sides 的属性,该属性的默认值为 6。编写一 个名为 roll_die()的方法,它打印位于 1和骰子面数之间的随机数。创建一个 6面的骰 子,再掷 10次。
class Restaurant(): def __init__(self, restaurant_name, cuisine_type): self.restaurant_name = restaurant_name self.cuisine_type = cuisine_type self.number_served = 0 def describe_restaurant(self): print(''' name : {} cuisine type : {} '''.format(self.restaurant_name, self.cuisine_type)) def open_retaurant(self): print("{} is working.".format(self.restaurant_name.title())) def set_number_served(self, number_served): self.number_served = number_served def increment_number_served(self): self.number_served += 1 my_restaurant = Restaurant("喷香炸鸡", "韩国料理") print(my_restaurant.restaurant_name, my_restaurant.cuisine_type) my_restaurant.describe_restaurant() my_restaurant.open_retaurant() print(my_restaurant.restaurant_name + " has served " + str(my_restaurant.number_served) + " people.\n" ) my_restaurant.set_number_served(8) print(my_restaurant.restaurant_name + " has served " + str(my_restaurant.number_served) + " people.\n" ) my_restaurant.increment_number_served() print(my_restaurant.restaurant_name + " has served " + str(my_restaurant.number_served) + " people.\n" )9-6 冰淇淋小店:冰淇淋小店是一种特殊的餐馆。编写一个名为 IceCreamStand 的 类,让它继承你为完成练习 9-1 或练习 9-4 而编写的 Restaurant 类。这两个版本的 Restaurant 类都可以,挑选你更喜欢的那个即可。添加一个名为 flavors 的属性,用于 存储一个由各种口味的冰淇淋组成的列表。编写一个显示这些冰淇淋的方法。创建一个 IceCreamStand 实例,并调用这个方法。
class IceCreamStand(Restaurant): def __init__(self, restaurant_name, cuisine_type, flavors): super().__init__(restaurant_name, cuisine_type) self.flavors = flavors def show_icesream(self): for flavor in self.flavors: print(flavor) flavors = ['Apple', 'Chocolate', 'Milk'] my_IceCreamStand = IceCreamStand('雪糕店', '甜品', flavors) my_IceCreamStand.show_icesream()
9-14 骰子:请创建一个 Die 类,它包含一个名为 sides 的属性,该属性的默认值为 6。编写一 个名为 roll_die()的方法,它打印位于 1和骰子面数之间的随机数。创建一个 6面的骰 子,再掷 10次。
from random import randint class Die(): def __init__(self, sides): self.sides = sides def roll_die(self): x = randint(1, self.sides) print("Roll the die, and get side " + str(x) + ".") my_die = Die(6) print("Roll a die with 6 sizes.") for i in range(10): my_die.roll_die() print() print("Roll a die with 10 sizes.") my_die = Die(10) for i in range(20): my_die.roll_die()