9-1 餐馆:
class Restaurant():
def __init__(self, restaurant, cuisine_type):
self.restaurant = restaurant
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print(self.restaurant, self.cuisine_type)
def open_restaurant(self):
print("opening ")
example_1 = Restaurant("Mc", "chinese food")
print(example_1.restaurant, example_1.cuisine_type)
example_1.describe_restaurant()
example_1.open_restaurant()
运行结果:
9-2 三家餐馆:
class Restaurant():
def __init__(self, restaurant, cuisine_type):
self.restaurant = restaurant
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print(self.restaurant, self.cuisine_type)
def open_restaurant(self):
print("opening ")
example_1 = Restaurant("Mc", "chinese food")
example_2 = Restaurant("KFC", "Western food")
example_3 = Restaurant("pizza hut", "Western food")
example_1.describe_restaurant()
example_2.describe_restaurant()
example_3.describe_restaurant()
运行结果:
9-3 用户:
class User():
def __init__(self, first, last):
self.first_name = first
self.last_name = last
def describe_user(self):
print("First name: ", self.first_name)
print("Last name: ", self.last_name)
def greet_user(self):
print("Hello, " + self.first_name + " " + self.last_name)
example_1 = User("hong", "siyuan")
example_2 = User("li", "yinwei")
example_3 = User("lin", "dongwei")
example_1.describe_user()
example_1.greet_user()
print("\n")
example_2.describe_user()
example_2.greet_user()
print("\n")
example_3.describe_user()
example_3.greet_user()
运行结果:
9-4 就餐人数:
class Restaurant():
def __init__(self, restaurant, cuisine_type):
self.restaurant = restaurant
self.cuisine_type = cuisine_type
self.number_served = 0
def describe_restaurant(self):
print(self.restaurant, self.cuisine_type)
def open_restaurant(self):
print("opening ")
def set_number_served(self, num):
self.number_served = num
def increment_number_served(self, num):
self.number_served += num
example_1 = Restaurant("Mc", "chinese food")
example_1.number_served = 10
print("served number: ", example_1.number_served)
example_1.set_number_served(12)
print("served number: ", example_1.number_served)
example_1.increment_number_served(8)
print("served number: ", example_1.number_served)
运行结果:
9-5 尝试登陆次数:
class User():
def __init__(self, first, last):
self.first_name = first
self.last_name = last
self.login_attempts = 0
def describe_user(self):
print("First name: ", self.first_name)
print("Last name: ", self.last_name)
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
example_1 = User("hong", "siyuan")
example_1.increment_login_attempts()
example_1.increment_login_attempts()
print("login attempts: ", example_1.login_attempts)
example_1.reset_login_attempts()
print("login attempts: ", example_1.login_attempts)
运行结果:
9-6 冰淇淋小店:
class Restaurant():
def __init__(self, restaurant, cuisine_type):
self.restaurant = restaurant
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print(self.restaurant, self.cuisine_type)
def open_restaurant(self):
print("opening ")
class IceCreamStand(Restaurant):
def __init__(self, restaurant, cuisine_type):
super().__init__(restaurant,cuisine_type)
self.flavors = ['apple', 'chocolate', 'lemon', 'milk']
def show(self):
print("flavors: ", self.flavors)
example_1 = IceCreamStand("cold summer and warm winter", "icecream")
example_1.show()
运行结果:
9-7 管理员:
class User():
def __init__(self, first, last):
self.first_name = first
self.last_name = last
def describe_user(self):
print("First name: ", self.first_name)
print("Last name: ", self.last_name)
def greet_user(self):
print("Hello, " + self.first_name + " " + self.last_name)
class Admin(User):
def __init__(self, first, last):
super().__init__(first, last)
self.privileges = ["can add post", "can delete post", "can ban user"]
def show_privileges(self):
print("Admin privileges: ", self.privileges)
example_1 = Admin("hong", "siyuan")
example_1.show_privileges()
运行结果:
9-8 权限:
class User():
def __init__(self, first, last):
self.first_name = first
self.last_name = last
def describe_user(self):
print("First name: ", self.first_name)
print("Last name: ", self.last_name)
def greet_user(self):
print("Hello, " + self.first_name + " " + self.last_name)
class Privileges():
def __init__(self):
self.privileges = ["can add post", "can delete post", "can ban user"]
def show_privileges(self):
print("privileges: ", self.privileges)
class Admin(User):
def __init__(self, first, last):
super().__init__(first, last)
self.pri = Privileges()
def show_privileges(self):
self.pri.show_privileges()
example_1 = Admin("hong", "siyuan")
example_1.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 get_descriptive_name(self):
long_name = str(self.year) + ' ' + str(self.odometer_reading) + 'miles on it.'
return long_name.title()
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_ran(self):
if self.battery_size == 70: ran = 240
elif self.battery_size == 85: ran = 270
message = "This car can go approximately " +str(ran)
message += " miles on a full charge"
print(message)
def update_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()
my_tesla = ElectricCar('tesla', 'model s', 2016)
my_tesla.battery.get_ran()
my_tesla.battery.update_battery()
my_tesla.battery.get_ran()
运行结果:
9-13 使用OrderedDict:
from collections import OrderedDict
languages = OrderedDict()
languages['while'] = "循环"
languages["for"] = "循环"
languages['if'] = "如果"
languages['elif'] = "否则如果"
languages['else'] = "否则"
for key, value in languages.items():
print(key + ": " + value)
运行结果:
9-14 骰子:
from random import randint
class Die():
def __init__(self, sides):
self.sides = sides
def roll_die(self):
return randint(1, self.sides)
print("sides:6")
example_1 = Die(6)
for num in range(0,10):
print(example_1.roll_die(), end=' ')
print("\nsides:10")
example_2 = Die(10)
for num in range(0,10):
print(example_2.roll_die(), end=' ')
print("\nsides:20")
example_3 = Die(20)
for num in range(0,10):
print(example_3.roll_die(), end=' ')
运行结果:
10-1 Python 学习笔记:
filename = "learning_python.txt"
with open(filename) as file_object:
context = file_object.read()
print(context,end='')
print("\n")
with open(filename) as file_object:
for line in file_object:
print(line,end='')
print("\n")
with open(filename) as file_object:
lines = file_object.readlines()
for line in lines:
print(line, end='')
运行结果:
10-2 C语言学习笔记:
filename = "learning_python.txt"
with open(filename) as file_object:
context = file_object.read()
print(context.replace('Python', 'C'))
运行结果:
10-3 访客:
filename = 'guest.txt'
name = input("What is your name? ")
with open(filename, 'w') as file_object:
file_object.write("name")
10-4 访客名单:
filename = 'guest_book.txt'
while True:
name = input("What is your name?(Enter 'quit, then quit) ")
if name == 'quit': break
print("Hello, " + name + ".")
with open(filename, 'a') as file_object:
file_object.write("name" + "\n")
10-5 关于编程的调查:
filename = 'reasons.txt'
while True:
name = input("why do you like programming?(Enter 'quit, then quit) ")
if name == 'quit': break
with open(filename, 'a') as file_object:
file_object.write(name + "\n")
10-6 加法运算:
num_a = input("Input integer: ")
num_b = input("Input integer: ")
try:
num_a = int(num_a)
num_b = int(num_b)
except ValueError:
print("Sorry, the input is wrong")
else:
print("The answer is ", num_a + num_b)
运行结果:
10-7 加法计算器:
while True:
num_a = input("Input integer: ")
num_b = input("Input integer: ")
try:
num_a = int(num_a)
num_b = int(num_b)
except ValueError:
print("Sorry, the input is wrong\nEnter again.")
else:
print("The answer is ", num_a + num_b)
break
运行结果:
10-8 猫和狗:
try:
filename = 'cats.txt'
with open(filename) as file_object:
context = file_object.read()
print(context)
filename = 'dogs.txt'
with open(filename) as file_object:
context = file_object.read()
print(context)
except FileNotFoundError:
print("File not found")
else:
print()
运行结果:
10-10 常见单词:
filename = "balaam_and_his_mater.txt"
with open(filename) as file_object:
context = file_object.read()
print(context.lower().count('the'))
运行结果:
10-11 喜欢的数字:
import json
filename = 'favorite_num.json'
num = input("What your favorite number? ")
with open(filename, 'w') as file_object:
json.dump(num, file_object)
运行结果:
import json
filename = 'favorite_num.json'
with open(filename) as file_object:
num = json.load(file_object)
print("I konw your favorite number!It's " + num)
运行结果:
10-12 记住喜欢的数字:
import json
filename = 'favorite_num.json'
try:
with open(filename) as file_object:
num = json.load(file_object)
except FileNotFoundError:
num = input("What your favorite number? ")
with open(filename,'w') as file_object:
json.dump(num, file_object)
else:
print("I konw your favorite number!It's " + num)
运行结果: