Python代码:
# Chapter 9 homework by szh 2018.4.2 from random import randint class Restaurant(): def __init__(self, restaurant_name, cuisine_type, number_served = 0): self.restaurant_name = restaurant_name self.cuisine_type = cuisine_type self.number_served = number_served def describe_restaurant(self): print("restaurant name: ", self.restaurant_name) print("cuisine type: ", self.cuisine_type) def open_restaurant(self): print(self.restaurant_name, " is open.") def set_number_served(self, value): self.number_served = value def increment_number_served(self, value): self.number_served += value; print("\n9.1") res1 = Restaurant("MacDonald", "Fast Food") print(res1.restaurant_name, res1.cuisine_type) res1.describe_restaurant() res1.open_restaurant() print("\n9.2") res2 = Restaurant("KFC", "Fast Food") res3 = Restaurant("Starbucks", "Drinks") res1.describe_restaurant() res2.describe_restaurant() res3.describe_restaurant() print("\n9.3") class User(): def __init__(self, first_name, last_name, gender = None, age = None): self.first_name = first_name self.last_name = last_name self.gender = gender self.age = age self.login_attempts = 0 def describe_user(self): print("first name: ", self.first_name) print("last name: ", self.last_name) if self.gender: print("gender: ", self.gender) if self.age: print("age: ", self.age) def greet_user(self): print("Hello, " + self.first_name + " " + self.last_name) def increment_login_attempts(self): self.login_attempts += 1 def reset_login_attempts(self): self.login_attempts = 0 p1 = User("Alien", "Turing", "male") p2 = User("Donson", "Jack", "male", 20) p3 = User("Alien", "Pandora") p1.describe_user() p2.describe_user() p3.describe_user() p1.greet_user() p2.greet_user() p3.greet_user() print("\n9.4") res1.set_number_served(5) print(res1.number_served) res1.increment_number_served(6) print(res1.number_served) print("\n9.5") for i in range(0, 5): p1.increment_login_attempts() print(p1.login_attempts) p1.reset_login_attempts() print(p1.login_attempts) print("\n9.6") class IceCreamStand(Restaurant): def __init__(self, restaurant_name, cuisine_type, number_served = 0, *flavors): super().__init__(restaurant_name, cuisine_type, number_served) self.flavors = flavors def showIceCream(self): for iceCream in self.flavors: print(iceCream) I = IceCreamStand('AAA', 'BBB', 1, ['A', 'B', 'C']) I.showIceCream() print("\n9.7") class Admin(User): def __init__(self, first_name, last_name, gender = None, age = None, *privileges): super().__init__(first_name, last_name, gender, age) self.privileges = privileges def show_privileges(self): for privilege in self.privileges: print(privilege) A1 = Admin("Donson", "Jack", "male", 20, ['can add post', 'can delete post', 'can ban user']) A1.show_privileges() print("\n9.14") class Die(): def __init__(self, side = 6): self.side = side def roll_die(self): print(randint(1, self.side)) print("6 sides die") die_6 = Die() for i in range(6): die_6.roll_die() print("10 sides die") die_10 = Die(10) for i in range(10): die_10.roll_die() print("20 sides die") die_20 = Die(20) for i in range(10): die_20.roll_die()
输出结果:
9.1 MacDonald Fast Food restaurant name: MacDonald cuisine type: Fast Food MacDonald is open. 9.2 restaurant name: MacDonald cuisine type: Fast Food restaurant name: KFC cuisine type: Fast Food restaurant name: Starbucks cuisine type: Drinks 9.3 first name: Alien last name: Turing gender: male first name: Donson last name: Jack gender: male age: 20 first name: Alien last name: Pandora Hello, Alien Turing Hello, Donson Jack Hello, Alien Pandora 9.4 5 11 9.5 1 2 3 4 5 0 9.6 ['A', 'B', 'C'] 9.7 ['can add post', 'can delete post', 'can ban user'] 9.14 6 sides die 4 3 4 2 3 3 10 sides die 4 10 2 1 4 6 6 6 1 7 20 sides die 10 10 7 11 13 15 8 9 14 9