第九章课后作业

Chapter 9

9-1 餐馆

class Restaurant:
    def __init__(self, restaurant_name, cuisine_type):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type

    def describe_restaurant(self):
        print("Restaurant name:\t" + self.restaurant_name)
        print("Cuisine type:\t" + self.cuisine_type)

    def open_restaurant(self):
        print(self.restaurant_name.title() + " restaurant is open.")


restaurant = Restaurant("Jigongbao", "Chuan Cai")
print(restaurant.restaurant_name)
print(restaurant.cuisine_type)
restaurant.describe_restaurant()
restaurant.open_restaurant()

9-2 三家餐馆

class Restaurant:
    def __init__(self, restaurant_name, cuisine_type):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type

    def describe_restaurant(self):
        print("Restaurant name:\t" + self.restaurant_name)
        print("Cuisine type:\t" + self.cuisine_type)

    def open_restaurant(self):
        print(self.restaurant_name.title() + " restaurant is open.")


restaurant1 = Restaurant("Jigonggao", "Chuancai")
restaurant2 = Restaurant("Dapaidang", "Shaokao")
restaurant3 = Restaurant("Xiangcaiguan", "Xiangcai")
restaurant1.describe_restaurant()
restaurant2.describe_restaurant()
restaurant3.describe_restaurant()



9-3 用户

class User:
    def __init__(self, first_name, last_name, age, location):
        self.first_name = first_name
        self.last_name = last_name
        self.age = age
        self.location = location

    def describe_user(self):
        print("User Info")
        print("First name:\t" + self.first_name)
        print("Last name:\t" + self.last_name)
        print("Age\t" + str(self.age))
        print("Location:\t" + self.location)

    def greet_user(self):
        print("Hello, " + self.first_name + " " + self.last_name + "!")


user1 = User("James", "Brown", 24, "Guangzhou")
user1.describe_user()
user1.greet_user()
print()
user2 = User("Jackson", "White", 15, "Lendon")
user2.describe_user()
user2.greet_user()

9-4 就餐人数

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:\t" + self.restaurant_name)
        print("Cuisine type:\t" + self.cuisine_type)

    def open_restaurant(self):
        print(self.restaurant_name.title() + " restaurant is open.")

    def set_number_served(self, num):
        self.number_served = num

    def increment_number_served(self, max):
        if self.number_served < max:
            self.number_served += 1


restaurant = Restaurant("Jigongbao", "Chuancai", 23)
print(str(restaurant.number_served) + " guests have been served.")
restaurant.number_served = 25
print(str(restaurant.number_served) + " guests have been served.")

restaurant.set_number_served(33)
print(str(restaurant.number_served) + " guests have been served.")

restaurant.increment_number_served(40)
print(str(restaurant.number_served) + " guests have been served.")

9-5 尝试登陆次数

class User:
    def __init__(self, first_name, last_name, age, location):
        self.first_name = first_name
        self.last_name = last_name
        self.age = age
        self.location = location
        self.login_attempts = 0

    def describe_user(self):
        print("User Info")
        print("First name:\t" + self.first_name)
        print("Last name:\t" + self.last_name)
        print("Age\t" + str(self.age))
        print("Location:\t" + self.location)

    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


user = User("James", "Brown", 24, "Guangzhou")
user.increment_login_attempts()
print(user.login_attempts)
user.increment_login_attempts()
print(user.login_attempts)
user.increment_login_attempts()
print(user.login_attempts)
user.reset_login_attempts()
print(user.login_attempts)

9-6 冰淇淋小店

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:\t" + self.restaurant_name)
        print("Cuisine type:\t" + self.cuisine_type)

    def open_restaurant(self):
        print(self.restaurant_name.title() + " restaurant is open.")

    def set_number_served(self, num):
        self.number_served = num

    def increment_number_served(self, max):
        if self.number_served < max:
            self.number_served += 1


class IceCreamStand(Restaurant):
    def __init__(self, restaurant_name, cuisine_type, flavors, number_served=0):
        super().__init__(restaurant_name, cuisine_type, number_served)
        self.flavors = flavors

    def  show_flavors(self):
        for flavor in self.flavors:
            print(flavor)


flavors = ['flavor A', 'flavor B', 'flavor C']
ice = IceCreamStand("Ice Store", "Ice", flavors)
ice.show_flavors()

9-7 管理员

class User:
    def __init__(self, first_name, last_name, age, location):
        self.first_name = first_name
        self.last_name = last_name
        self.age = age
        self.location = location

    def describe_user(self):
        print("User Info")
        print("First name:\t" + self.first_name)
        print("Last name:\t" + self.last_name)
        print("Age\t" + str(self.age))
        print("Location:\t" + self.location)

    def greet_user(self):
        print("Hello, " + self.first_name + " " + self.last_name + "!")


class Admin(User):
    def __init__(self, first_name, last_name, age, location, privileges):
        super().__init__(first_name, last_name, age, location)
        self.privileges = privileges

    def show_privileges(self):
        print("Your privileges:")
        for privilege in self.privileges:
            print("\t" + privilege)


privileges = ["can add post", "can delete post", "can be user"]
admin = Admin("James", "Brown", 23, "USA", privileges)
admin.show_privileges()

9-8 权限

class User:
    def __init__(self, first_name, last_name, age, location):
        self.first_name = first_name
        self.last_name = last_name
        self.age = age
        self.location = location

    def describe_user(self):
        print("User Info")
        print("First name:\t" + self.first_name)
        print("Last name:\t" + self.last_name)
        print("Age\t" + str(self.age))
        print("Location:\t" + self.location)

    def greet_user(self):
        print("Hello, " + self.first_name + " " + self.last_name + "!")


class Privileges:
    def __init__(self, privileges):
        self.privileges = privileges

    def show_privileges(self):
        print("Your privileges:")
        for privilege in self.privileges:
            print("\t" + privilege)

class Admin(User):
    def __init__(self, first_name, last_name, age, location, Privileges):
        super().__init__(first_name, last_name, age, location)
        self.privileges = Privileges


privileges = ["can add post", "can delete post", "can be user"]
pri = Privileges(privileges)
admin = Admin("James", "Brown", 23, "USA", pri)
admin.privileges.show_privileges()



9-9 电瓶升级

class Car:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year
        self.odometer_reading = 0

    def ge_descriptive_name(self):
        long_name = str(self.year) + ' ' + self.make + " " + self.model
        return long_name.tltle()

    def read_odometer(self):
        print("This car has " + str(self.odometer_reading) + "miles on it.")

    def update_odometer(self, mileage):
        if mileage >= self.odometer_reading:
            self.odometer_reading = mileage
        else:
            print("You can't roll back an odometer!")

    def increment_odometer(self, miles):
        self.odometer_reading += miles


class Battery:
    def __init__(self, battery_size=70):
        self.battery_size = battery_size

    def describe_battery(self):
        print("THis car has a " + str(self.battery_size) + "-kWh battery.")

    def get_range(self):
        if self.battery_size == 70:
            range = 240
        elif self.battery_size == 85:
            range = 270

        message = "This car can go approximately " + str(range)
        message += " miles on a full charege"
        print(message)

    def upgrade_battery(self):
        if self.battery_size != 85:
            self.battery_size = 85


class ElectricCar(Car):
    def __init__(self, make, model, year):
        super().__init__(make, model, year)
        self.battery = Battery()


car = ElectricCar('tesla', 'model s', 2016)
car.battery.get_range()
car.battery.upgrade_battery()
car.battery.get_range()

9-10 导入Restaurant类

# restaurant_module.py

class Restaurant:
    def __init__(self, restaurant_name, cuisine_type):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type

    def describe_restaurant(self):
        print("Restaurant name:\t" + self.restaurant_name)
        print("Cuisine type:\t" + self.cuisine_type)

    def open_restaurant(self):
        print(self.restaurant_name.title() + " restaurant is open.")
# import_restaurant.py

import restaurant_module

restaurant = restaurant_module.Restaurant("Jigonggao", "Chuancai")
restaurant.describe_restaurant()

9-11 导入Admin类

# admin_module.py
class User:
    def __init__(self, first_name, last_name, age, location):
        self.first_name = first_name
        self.last_name = last_name
        self.age = age
        self.location = location

    def describe_user(self):
        print("User Info")
        print("First name:\t" + self.first_name)
        print("Last name:\t" + self.last_name)
        print("Age\t" + str(self.age))
        print("Location:\t" + self.location)

    def greet_user(self):
        print("Hello, " + self.first_name + " " + self.last_name + "!")


class Privileges:
    def __init__(self, privileges):
        self.privileges = privileges

    def show_privileges(self):
        print("Your privileges:")
        for privilege in self.privileges:
            print("\t" + privilege)

class Admin(User):
    def __init__(self, first_name, last_name, age, location, Privileges):
        super().__init__(first_name, last_name, age, location)
        self.privileges = Privileges
# import_admin.py

import admin_module

privileges = ["can add post", "can delete post", "can be user"]
pri = admin_module.Privileges(privileges)
admin = admin_module.Admin("James", "Brown", 23, "USA", pri)
admin.privileges.show_privileges()

9-12 多个模块

# user_module.py

class User:
    def __init__(self, first_name, last_name, age, location):
        self.first_name = first_name
        self.last_name = last_name
        self.age = age
        self.location = location

    def describe_user(self):
        print("User Info")
        print("First name:\t" + self.first_name)
        print("Last name:\t" + self.last_name)
        print("Age\t" + str(self.age))
        print("Location:\t" + self.location)

    def greet_user(self):
        print("Hello, " + self.first_name + " " + self.last_name + "!")
# privilege_module.py

from user_module import User


class Privileges:
    def __init__(self, privileges):
        self.privileges = privileges

    def show_privileges(self):
        print("Your privileges:")
        for privilege in self.privileges:
            print("\t" + privilege)


class Admin(User):
    def __init__(self, first_name, last_name, age, location, Privileges):
        super().__init__(first_name, last_name, age, location)
        self.privileges = Privileges
# mutiple_module.py

from privilege_module import Privileges, Admin

privileges = ["can add post", "can delete post", "can be user"]
pri = Privileges(privileges)
admin = Admin("James", "Brown", 23, "USA", pri)
admin.privileges.show_privileges()

9-13 使用OrderedDict

from collections import OrderedDict

vocabulary_table = OrderedDict({
    'python': "A popular programing language",
    'list': "A kind of structure which linked data with index",
    'ergodic': "Travel all stored values in a structure in order",
    'tuple': "A kind of structure like a unmodified list",
    'output': "an amount of something produced by a person, machine, factory, country, etc"
})


for vocabulary, explanation in vocabulary_table.items():
    print(vocabulary + ":\t" + explanation)

9-14 骰子

from random import randint

class Die:
    def __init__(self, sides=6):
        self.sides = sides

    def roll_die(self):
        return randint(1, self.sides)


die6 = Die()
for i in range(1, 11):
    print(str(die6.roll_die()))
print()
die10 = Die(10)
for i in range(1, 11):
    print(str(die10.roll_die()))
print()
die20 = Die(20)
for i in range(1, 11):
    print(str(die20.roll_die()))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值