【HW】 第九章作业 2018.4.2

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

猜你喜欢

转载自blog.csdn.net/empire_03/article/details/79794629