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)
运行结果: