您的位置:首页 > 编程语言

【HW】 第九章作业 2018.4.2

2018-04-02 20:30 190 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息