第九章
9-1
class Restaurant():
def __init__(self, restaurant_name, restaurant_type):
self.restaurant_name = restaurant_name
self.restaurant_type = restaurant_type
def describe_restaurant(self):
print ("This restaurant's name is " + self.restaurant_name + ", and it's a " + self.restaurant_type + ".")
def open_restaurant(self):
print (self.restaurant_name + " is opening!")
restaurant = Restaurant("Sunny", "western restaurant")
print ("This restaurant's name is " + restaurant.restaurant_name + ", and it's a " + restaurant.restaurant_type + ".")
restaurant.describe_restaurant()
restaurant.open_restaurant()
9-2
class Restaurant():
def __init__(self, restaurant_name, restaurant_type):
self.restaurant_name = restaurant_name
self.restaurant_type = restaurant_type
self.restaurant_number_served = 0
def describe_restaurant(self):
print ("This restaurant's name is " + self.restaurant_name + ", and it's a " + self.restaurant_type + ".")
def open_restaurant(self):
print (self.restaurant_name + "is opening!")
def set_number_served(self,number_served):
if number_served >= self.restaurant_number_served:
self.restaurant_number_served = number_served
else :
print ("You can not roll back the number of people once received!")
def increment_number_served (self, number_served):
if number_served >= 0:
self.restaurant_number_served += number_served
else :
print ("The number of people added can't be negative!")
def read_restaurant_number_served(self):
print (self.restaurant_name + "has served " + str(self.restaurant_number_served) + " people.")
restaurant = Restaurant("Sunny", "western restaurant")
print ("This restaurant's name is " + restaurant.restaurant_name + ", and it's a " + restaurant.restaurant_type + ".")
restaurant.describe_restaurant()
restaurant.set_number_served(3000)
restaurant.read_restaurant_number_served()
restaurant.increment_number_served(300)
restaurant.read_restaurant_number_served()
9-6
class Restaurant():
def __init__(self, restaurant_name, restaurant_type):
self.restaurant_name = restaurant_name
self.restaurant_type = restaurant_type
self.restaurant_number_served = 0
def describe_restaurant(self):
print ("This restaurant's name is " + self.restaurant_name + ", and it's a " + self.restaurant_type + ".")
def open_restaurant(self):
print (self.restaurant_name + "is opening!")
def set_number_served(self,number_served):
if number_served >= self.restaurant_number_served:
self.restaurant_number_served = number_served
else :
print ("You can not roll back the number of people once received!")
def increment_number_served (self, number_served):
if number_served >= 0:
self.restaurant_number_served += number_served
else :
print ("The number of people added can't be negative!")
def read_restaurant_number_served(self):
print (self.restaurant_name + "has served " + str(self.restaurant_number_served) + " people.")
class IceCreamStand(Restaurant):
def __init__(self, restaurant_name, restaurant_type):
super().__init__(restaurant_name, restaurant_type)
self.flavors = []
def describe_restaurant(self):
print ("This restaurant's name is " + self.restaurant_name + ", and it's an " + self.restaurant_type + ".")
def set_flavors(self, flavors_):
self.flavors = flavors_
def read_flavors(self):
print ("flavors:")
for flavors_ in self.flavors:
print (flavors_)
my_icecreamstand = IceCreamStand("Sunny", "western restaurant")
my_icecreamstand.describe_restaurant()
my_icecreamstand.set_flavors(['Haagen-Dazs ', 'Elegance beauty cream ', 'BAXY'])
my_icecreamstand.read_flavors()
9-10
Restaurant.py
class Restaurant():
def __init__(self, restaurant_name, restaurant_type):
self.restaurant_name = restaurant_name
self.restaurant_type = restaurant_type
self.restaurant_number_served = 0
def describe_restaurant(self):
print ("This restaurant's name is " + self.restaurant_name + ", and it's a " + self.restaurant_type + ".")
def open_restaurant(self):
print (self.restaurant_name + "is opening!")
def set_number_served(self,number_served):
if number_served >= self.restaurant_number_served:
self.restaurant_number_served = number_served
else :
print ("You can not roll back the number of people once received!")
def increment_number_served (self, number_served):
if number_served >= 0:
self.restaurant_number_served += number_served
else :
print ("The number of people added can't be negative!")
def read_restaurant_number_served(self):
print (self.restaurant_name + "has served " + str(self.restaurant_number_served) + " people.")
my_restaurant.py
from Restaurant import Restaurant
restaurant = Restaurant("Sunny", "western restaurant")
restaurant.describe_restaurant()
9-14
from random import randint
class Die():
def __init__(self, sides):
self.sides = sides
def roll_die(self, times):
print ("The result of the " + str(self.sides) + " sides dice throwing " + str(times) + " times is:")
for index in range(0, times):
print (randint(1, self.sides))
die_0 = Die(6)
die_0.roll_die(10)
print ("\n")
die_1 = Die(10)
die_1.roll_die(10)
print ("\n")
die_2 = Die(20)
die_2.roll_die(10)
第十章
with open('learning_python.txt') as file_object:
contents = file_object.read()
print(contents)
print("\n")
with open('learning_python.txt') as file_object:
for line in file_object:
print(line.rstrip())
print("\n")
with open('learning_python.txt') as file_object:
lines = file_object.readlines()
for line in lines:
print(line.rstrip())
10-2
with open('learning_python.txt') as file_object:
lines = file_object.readlines()
str = ''
for line in lines:
print(line.rstrip())
str += line.replace('Python', 'C')
print("\n")
print(str)
10-4
with open('guest_book.txt', 'w') as file_object:
while True:
print("Please input your name!", end = '')
name = input("(Enter 'q' to end the programe.)\n")
if name == 'q':
break
name += '\n'
file_object.write(name)
print("\nThe guest_book.txt is:")
with open('guest_book.txt') as file_object:
contents = file_object.read()
print(contents)
10-6
while True:
print
num_1 = input("Please input the first number(Enter 'q' to end the programe.): ")
if num_1 == 'q':
break
num_2 = input("Please input the second number(Enter 'q' to end the programe.): ")
if num_2 == 'q':
break
try:
num_1 = int(num_1)
num_2 = int(num_2)
except ValueError:
print("You can only input numbers!")
else:
print("The sum of the two number is " + str(num_1 + num_2) + ".")
10-8
def read_file(filename):
try:
with open(filename) as file_object:
contents = file_object.read()
except FileNotFoundError:
print("Sorry, the file" + filename + "does not exist.")
else:
print("\n" + filename + ":")
print(contents)
files = ['cats.txt', 'dogs.txt', 'birds.txt']
for file in files:
read_file(file)
10-9
def read_file(filename):
try:
with open(filename) as file_object:
contents = file_object.read()
except FileNotFoundError:
pass
else:
print("\n" + filename + ":")
print(contents)
files = ['cats.txt', 'dogs.txt', 'birds.txt']
for file in files:
read_file(file)
10-11
dump.py
import json
numbers_line = []
while True:
number = input("Please input your favorite number(Enter 'q' to end the programe.):")
if number == 'q':
break
numbers_line.append(int(number))
with open("favorite_numbers.json", 'w') as file_object:
json.dump(numbers_line, file_object)
load.py
import json
with open("favorite_numbers.json") as file_object:
contents = json.load(file_object)
print("I konw your favorite number!It's ", end = '')
for number in contents[:-2]:
print(number, end = ', ')
print(str(contents[-1]) + '.')