目录

9-1(9-2) 餐馆

9-3 用户

9-4 就餐人数

9-5 尝试登陆次数

9-6 冰淇淋小店

9-7 管理员

9-8 权限

9-10 导入Restaurant类

9-11 导入Admin类

9-12 多个模块​


9-1(9-2) 餐馆

#!/usr/bin/env python
# -*- coding:utf-8 -*-class Restaurant():"""模拟餐馆信息的简单尝试"""def __init__(self, restaurant_name, cuisine_type):"""初始化描述汽车的属性"""self.restaurant_name = restaurant_nameself.cuisine_type = cuisine_typedef describe_restaurant(self):"""返回餐馆信息"""long_name = self.restaurant_name + ' ' + self.cuisine_typereturn long_name.title()def open_restaurant(self):"""打印餐厅营业消息"""print("The restaurant is opening!!")my_restaurant1 = Restaurant('美味', '炒菜')
print(my_restaurant1.describe_restaurant())
my_restaurant1.open_restaurant()my_restaurant2 = Restaurant('香辣', '香锅')
print(my_restaurant2.describe_restaurant())
my_restaurant2.open_restaurant()my_restaurant3 = Restaurant('欢欢', '火锅')
print(my_restaurant3.describe_restaurant())
my_restaurant3.open_restaurant()

运行结果:


9-3 用户

#!/usr/bin/env python
# -*- coding:utf-8 -*-class User():def __init__(self, first_name, last_name, age):self.first_name = first_nameself.last_name = last_nameself.age = agedef describe_user(self):"""描述用户信息"""long_name = self.last_name + ' ' + self.first_name + ' ' + self.ageprint(long_name.title())def greet_user(self):"""向用户问好"""print('Hello,' + ' ' + self.last_name + ' ' + self.first_name + '!')user = User('San', 'Zhang', '20')user.describe_user()
user.greet_user()

运行结果:


9-4 就餐人数

#!/usr/bin/env python
# -*- coding:utf-8 -*-class Restaurant():"""模拟餐馆信息的简单尝试"""def __init__(self, restaurant_name, cuisine_type):"""初始化描述餐馆的属性"""self.restaurant_name = restaurant_nameself.cuisine_type = cuisine_typeself.number_served = 0def describe_restaurant(self):"""返回餐馆信息"""long_name = self.restaurant_name + ' ' + self.cuisine_typereturn long_name.title()def open_restaurant(self):"""打印餐厅营业消息"""print("The restaurant is opening!!")def set_number_served(self, numbers):"""设置就餐人数"""self.number_served = numbersdef increment_number_served(self, numbers):self.number_served += numbersdef read_number_served(self):"""打印一条就餐人数信息"""print("There are " + str(self.number_served) + ' people eating in this restaurant')# 创建餐馆实例
my_restaurant = Restaurant('欢欢', '火锅')# 打印餐馆信息
print(my_restaurant.describe_restaurant())
my_restaurant.open_restaurant()# 打印初始餐馆就餐人数
my_restaurant.set_number_served(10)
my_restaurant.read_number_served()# 打印认为的可能就餐人数
my_restaurant.increment_number_served(100)
my_restaurant.read_number_served()

运行结果:


9-5 尝试登陆次数

#!/usr/bin/env python
# -*- coding:utf-8 -*-class User():def __init__(self, first_name, last_name, age):self.first_name = first_nameself.last_name = last_nameself.age = ageself.login_attempts = 0def describe_user(self):"""描述用户信息"""long_name = self.last_name + ' ' + self.first_name + ' ' + self.ageprint(long_name.title())def greet_user(self):"""向用户问好"""print('Hello,' + ' ' + self.last_name + ' ' + self.first_name + '!')def increment_login_attempts(self):"""计数登录次数"""self.login_attempts += 1def reset_login_attempts(self):"""重置登录次数为0"""self.login_attempts = 0user = User('San', 'Zhang', '20')# 打印用户信息并问好
user.describe_user()
user.greet_user()# 多次调用increment_login_attempts
for i in range(1, 6):user.increment_login_attempts()print(user.login_attempts)user.reset_login_attempts()
print("login_attempts重置为: " + str(user.login_attempts))

运行结果:


9-6 冰淇淋小店

#!/usr/bin/env python
# -*- coding:utf-8 -*-class Restaurant():"""模拟餐馆信息的简单尝试"""def __init__(self, restaurant_name, cuisine_type):"""初始化描述餐馆的属性"""self.restaurant_name = restaurant_nameself.cuisine_type = cuisine_typeself.number_served = 0def describe_restaurant(self):"""返回餐馆信息"""long_name = self.restaurant_name + ' ' + self.cuisine_typereturn long_name.title()def open_restaurant(self):"""打印餐厅营业消息"""print("The restaurant is opening!!")def set_number_served(self, numbers):"""设置就餐人数"""self.number_served = numbersdef increment_number_served(self, numbers):self.number_served += numbersdef read_number_served(self):"""打印一条就餐人数信息"""print("There are " + str(self.number_served) + ' people eating in this restaurant')class IceCreamStand(Restaurant):def __init__(self, restaurant_name, cuisine_type):"""初始化父类的属性"""super().__init__(restaurant_name, cuisine_type)  # 初始化父类的属性self.flavors = []def set_flavors(self, flavors):"""设置冰淇淋餐厅口味"""self.flavors = flavorsdef read_flavors(self):"""打印餐厅冰淇淋口味"""print('The taste of ice cream has:', end='')for flavor in self.flavors:print(flavor, end=' ')# 创建冰淇淋餐厅实例
my_icecreamstand = IceCreamStand('欢欢', '冰淇淋')# 打印冰淇淋信息
print(my_icecreamstand.describe_restaurant())# 打印冰淇淋口味
my_icecreamstand.set_flavors(['蓝莓', '巧克力', '芒果'])
my_icecreamstand.read_flavors()

运行结果:


9-7 管理员

#!/usr/bin/env python
# -*- coding:utf-8 -*-class User():"""用户类"""def __init__(self, first_name, last_name, age):self.first_name = first_nameself.last_name = last_nameself.age = ageself.login_attempts = 0def describe_user(self):"""描述用户信息"""long_name = self.last_name + ' ' + self.first_name + ' ' + self.ageprint(long_name.title())def greet_user(self):"""向用户问好"""print('Hello,' + ' ' + self.last_name + ' ' + self.first_name + '!')def increment_login_attempts(self):"""计数登录次数"""self.login_attempts += 1def reset_login_attempts(self):"""重置登录次数为0"""self.login_attempts = 0class Admin(User):"""特殊用户Admin""""""初始化父类属性"""def __init__(self, first_name, last_name, age):super().__init__(first_name, last_name, age)  # 初始化父类属性self.privileges = ['can add post', 'can delete post', 'can ban user']  # Admin类特有的属性def show_privileges(self):print('管理员权限有:', end='')for privilege in self.privileges:print(privilege + ',', end=' ')admin = Admin('San', 'Zhang', '20')# 打印用户信息并问好
admin.describe_user()
admin.greet_user()# 调用管理员权限方法
admin.show_privileges()

运行结果:


9-8 权限

#!/usr/bin/env python
# -*- coding:utf-8 -*-class User():"""用户类"""def __init__(self, first_name, last_name, age):self.first_name = first_nameself.last_name = last_nameself.age = ageself.login_attempts = 0def describe_user(self):"""描述用户信息"""long_name = self.last_name + ' ' + self.first_name + ' ' + self.ageprint(long_name.title())def greet_user(self):"""向用户问好"""print('Hello,' + ' ' + self.last_name + ' ' + self.first_name + '!')def increment_login_attempts(self):"""计数登录次数"""self.login_attempts += 1def reset_login_attempts(self):"""重置登录次数为0"""self.login_attempts = 0class Privileges():"""权限类"""def __init__(self):self.privileges = ['can add post', 'can delete post', 'can ban user']def show_privileges(self):print('管理员权限有:', end='')for privilege in self.privileges:print(privilege + ',', end=' ')class Admin(User):"""特殊用户Admin""""""初始化父类属性"""def __init__(self, first_name, last_name, age):super().__init__(first_name, last_name, age)  # 初始化父类属性self.privileges = Privileges()admin = Admin('San', 'Zhang', '20')# 打印用户信息并问好
admin.describe_user()
admin.greet_user()# 调用管理员权限方法,注意这里还需要privileges句点法调用show_privileges()
admin.privileges.show_privileges()

运行结果:


9-10 导入Restaurant类

restaurant.py模块

#!/usr/bin/env python
# -*- coding:utf-8 -*-class Restaurant():"""模拟餐馆信息的简单尝试"""def __init__(self, restaurant_name, cuisine_type):"""初始化描述餐馆的属性"""self.restaurant_name = restaurant_nameself.cuisine_type = cuisine_typeself.number_served = 0def describe_restaurant(self):"""返回餐馆信息"""long_name = self.restaurant_name + ' ' + self.cuisine_typereturn long_name.title()def open_restaurant(self):"""打印餐厅营业消息"""print("The restaurant is opening!!")def set_number_served(self, numbers):"""设置就餐人数"""self.number_served = numbersdef increment_number_served(self, numbers):self.number_served += numbersdef read_number_served(self):"""打印一条就餐人数信息"""print("There are " + str(self.number_served) + ' people eating in this restaurant')class IceCreamStand(Restaurant):def __init__(self, restaurant_name, cuisine_type):"""初始化父类的属性"""super().__init__(restaurant_name, cuisine_type)  # 初始化父类的属性self.flavors = []def set_flavors(self, flavors):"""设置冰淇淋餐厅口味"""self.flavors = flavorsdef read_flavors(self):"""打印餐厅冰淇淋口味"""print('The taste of ice cream has:', end='')for flavor in self.flavors:print(flavor, end=' ')

主程序my_restaurant.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-from restaurant import IceCreamStand# 创建冰淇淋餐厅实例
my_icecreamstand = IceCreamStand('欢欢', '冰淇淋')# 打印冰淇淋信息
print(my_icecreamstand.describe_restaurant())# 打印冰淇淋口味
my_icecreamstand.set_flavors(['蓝莓', '巧克力', '芒果', '草莓'])
my_icecreamstand.read_flavors()

运行结果:


9-11 导入Admin类

admin.py模块

#!/usr/bin/env python
# -*- coding:utf-8 -*-class User():"""用户类"""def __init__(self, first_name, last_name, age):self.first_name = first_nameself.last_name = last_nameself.age = ageself.login_attempts = 0def describe_user(self):"""描述用户信息"""long_name = self.last_name + ' ' + self.first_name + ' ' + self.ageprint(long_name.title())def greet_user(self):"""向用户问好"""print('Hello,' + ' ' + self.last_name + ' ' + self.first_name + '!')def increment_login_attempts(self):"""计数登录次数"""self.login_attempts += 1def reset_login_attempts(self):"""重置登录次数为0"""self.login_attempts = 0class Privileges():"""权限类"""def __init__(self):self.privileges = ['can add post', 'can delete post', 'can ban user']def show_privileges(self):print('管理员权限有:', end='')for privilege in self.privileges:print(privilege + ',', end=' ')class Admin(User):"""特殊用户Admin""""""初始化父类属性"""def __init__(self, first_name, last_name, age):super().__init__(first_name, last_name, age)  # 初始化父类属性self.privileges = Privileges()

主程序my_admin.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-# 从admin模块导入Admin类
from admin import Adminadmin = Admin('Si', 'Li', '20')# 打印用户信息并问好
admin.describe_user()
admin.greet_user()# 调用管理员权限方法,注意这里还需要privileges句点法调用show_privileges()
admin.privileges.show_privileges()

运行结果:


9-12 多个模块

user.py模块

#!/usr/bin/env python
# -*- coding:utf-8 -*-class User():"""用户类"""def __init__(self, first_name, last_name, age):self.first_name = first_nameself.last_name = last_nameself.age = ageself.login_attempts = 0def describe_user(self):"""描述用户信息"""long_name = self.last_name + ' ' + self.first_name + ' ' + self.ageprint(long_name.title())def greet_user(self):"""向用户问好"""print('Hello,' + ' ' + self.last_name + ' ' + self.first_name + '!')def increment_login_attempts(self):"""计数登录次数"""self.login_attempts += 1def reset_login_attempts(self):"""重置登录次数为0"""self.login_attempts = 0

admin.py模块

#!/usr/bin/env python
# -*- coding:utf-8 -*-# 从user模块导入User类
from user import Userclass Privileges():"""权限类"""def __init__(self):self.privileges = ['can add post', 'can delete post', 'can ban user']def show_privileges(self):print('管理员权限有:', end='')for privilege in self.privileges:print(privilege + ',', end=' ')class Admin(User):"""特殊用户Admin""""""初始化父类属性"""def __init__(self, first_name, last_name, age):super().__init__(first_name, last_name, age)  # 初始化父类属性self.privileges = Privileges()

主程序my_admin.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-# 从admin模块导入Admin类
from admin import Adminadmin = Admin('Hua', 'Li', '15')# 打印用户信息并问好
admin.describe_user()
admin.greet_user()# 调用管理员权限方法,注意这里还需要privileges句点法调用show_privileges()
admin.privileges.show_privileges()

运行结果:

《Python编程从入门到实践》第9章类动手试一试答案(附代码)相关推荐

  1. Python编程从入门到实践第五章部分习题

    Python编程从入门到实践第五章部分习题 5-8 5-9` names = ['admin','zhang','li','zhao','song'] for name in names:if nam ...

  2. Python编程:从入门到实践 第三章--函数

    Python编程:从入门到实践 第三章-函数 语法 就还是需要先记一下函数定义的语法: def Test(num):num = 12 如上,def func_name(factors): # code ...

  3. 读书笔记——《Python编程从入门到实践》第二章

    读书笔记--<Python编程从入门到实践>第二章 读书笔记--<Python编程从入门到实践>第二章 变量 如何使用变量 如何规范变量命名 字符串 字符串是什么 如何修改字符 ...

  4. python编程从入门到实践 第18章Django入门 2022年最新

    说明:这篇文章只是记录自己自学本书的一个痕迹,日后来看作为一个念想.至于做为公开,是希望对一些同样跟我一样的朋友有一点点帮助,当然我本人就是小白,帮助可能也不大哈哈. 这篇文章记录了<pytho ...

  5. Python编程 从入门到实践——第1章 起步

    第一章 起步 1.1 搭建编程环境 1.1.1 Python版本 1.1.2 运行Python代码片段 1.1.3 Sublime Text简介 1.2 在不同操作系统中搭建Python编程环境 1. ...

  6. Python编程从入门到实践 -----第4章、操作列表(课后习题答案)

    4-1 比萨:想出至少三种你喜欢的比萨,将其名称储存在一个列表中,在使用循环将每种比萨名称都打印出来. 修改这个for循环,使其打印包含比萨名称的句子,而不是仅仅是比萨的名称,对于每种比萨,都显示一行 ...

  7. Python编程从入门到实践 -----第3章、列表简介(课后习题答案)

    3-1 姓名: 将一些朋友的姓名存储在一个列表中,并将其命名为names .依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来. names = ['chen', 'x', 'l']print ...

  8. Python编程-从入门到实践第15章课后习题详解

    第15章 使用Plotly模拟掷骰子--课后习题答案 练习15-6 #掷两个D8 from plotly.graph_objs import Bar,Layout from plotly import ...

  9. Python编程:从入门到实践-第七章:用户输入和while循环(语法)

    #7-1 汽车租赁:编写一个程序,询问用户要租赁什么样的汽车,并打印一条消息,如"Let me see if I can find you a Subaru". ''' print ...

  10. 记录——python编程从入门到实践十二章练习题

    12-1.12-2.12-3 main.py import sysimport pygamefrom homura import Ho from sets import Settings import ...

最新文章

  1. XNA游戏:软键盘弹窗输入
  2. Django横向二级导航栏(鼠标悬空事件)
  3. fragment+viewpager+tablayou实现滑动切换页面
  4. [react] Mern和Yeoman脚手架有什么区别?
  5. 运行第一个node.js文件
  6. Spring Data Redis实战之提供RedisTemplate
  7. winpcap的程序(转)
  8. 前端 鼠标一次移动半个像素_Web前端(二):CSS3
  9. php zip class,DedeCMS 自带压缩工具 zip.class.php 的用法
  10. HDU1166-ZKW树
  11. Vegas系列Movie Studio录制音频/乐的方法
  12. ASP.NET动态网站开发培训-26.在线编辑器FreeTextBox的使用
  13. 新世纪Nerv战士 - 京东首页补完计划
  14. 锁存器(latch)和触发器(filp-flop)的概念和区别?为什么多用register。行为级描述中latch如何产生的?
  15. 主机和虚拟机实现复制粘贴功能
  16. 许纪霖《中华儒家文化发展脉络》思维导图
  17. Android开发五年,从月薪13K到年薪60W,我只用了三个月!
  18. 客户流失预测模型python_教你用Python快速上手构建客户流失模型分析
  19. Python制作小游戏(一)
  20. 三星复仇计划开始:苹果一出LTE设备就要起诉它!

热门文章

  1. java中对象 引用的概念_java中的对象 方法 引用 等一些抽象的概念是什么意思呢?...
  2. java roundingmode.UP,即使明确设置,DecimalFormat也使用不正确的RoundingMode
  3. set的用法及短语_专升本英语易考短语搭配+常考句型
  4. 白帽子学Linux教程,网络安全工程师与白帽子***教你Kali Linux***:内网***实战技巧...
  5. android 抽屉侧滑冲突,利用DrawerLayout和触摸事件分发实现抽屉侧滑效果
  6. DDNS实现内网服务器映射到公网(阿里云)
  7. 新农大计算机学院照片,【新生指南】小团带你逛校园(内附农大全景图~)
  8. poj1845 Sumdiv 题解报告
  9. [Swift]LeetCode599. 两个列表的最小索引总和 | Minimum Index Sum of Two Lists
  10. AD Framework 单点登录