《Python编程:从入门到实践》 练习 9-4 9-5
9-4就餐人数 :
在为完成练习9-1而编写的程序中, 添加一个名为number_served 的属性, 并将其默认值设置为0。
根据这个类创建一个名为restaurant 的实例; 打印有多少人在这家餐馆就餐过, 然后修改这个值并再次打印它。
添加一个名为set_number_served() 的方法, 它让你能够设置就餐人数。
调用这个方法并向它传递一个值, 然后再次打印这个值。
添加一个名为increment_number_served() 的方法, 它让你能够将就餐人数递增。
调用这个方法并向它传递一个这样的值: 你认为这家餐馆每天可能接待的就餐人数。
class Restaurant():def __init__(self, restaurant_name, cuisine_type):"""初始化属性name和type"""self.name = restaurant_nameself.type = cuisine_typeself.number_served = 0def read_number(self):"""打印餐馆有多少人"""print("The restaurant has " + str(self.number_served) + " customer now.")def set_number_served(self, number):"""设置就餐人数"""self.number_served = numberdef increment_number_served(self, number):"""增加就餐人数"""if int(number) + self.number_served <= 20:self.number_served += numberelse:print("The restaurant is full now.")restaurant = Restaurant('WTF', 'nothing')restaurant.set_number_served(5)restaurant.increment_number_served(5)
restaurant.increment_number_served(4)
restaurant.increment_number_served(6)
restaurant.increment_number_served(2)restaurant.read_number()
运行结果:
The restaurant is full now.
The restaurant has 20 customer now.
9-5 尝试登录次数 :
在为完成练习9-3而编写的User 类中, 添加一个名为login_attempts 的属性。
编写一个名为increment_login_attempts() 的方法,它将属性login_attempts 的值加1。
再编写一个名为reset_login_attempts() 的方法, 它将属性login_attempts 的值重置为0。
根据User 类创建一个实例, 再调用方法increment_login_attempts() 多次。
打印属性login_attempts 的值, 确认它被正确地递增; 然后, 调用方法reset_login_attempts() , 并再次打印属性
login_attempts 的值, 确认它被重置为0。
class User():def __init__(self, first_name, last_name, age, sex):"""用户信息"""self.name = first_name.title() + ' ' + last_name.title()self.age = str(age)self.sex = sexself.login_attempts = 0def describe_user(self):"""打印用户摘要"""print("\nName: " + self.name +"\nAge: " + self.age +"\nSex: " + self.sex)def greet_user(self):"""向用户打招呼"""if self.sex == 'female':print("Hello, my dear " + self.name + "!" )else:print("Hello, " + self.name + ".")def increment_login_attempts(self):"""增加尝试登录的次数"""self.login_attempts += 1def reset_login_attempts(self):"""重置尝试登录的次数"""self.login_attempts = 0me = User('peng', 'yifeng', 18, 'male')me.describe_user()
me.greet_user()me.increment_login_attempts()
me.increment_login_attempts()
me.increment_login_attempts()
me.increment_login_attempts()print("You have logged in " + str(me.login_attempts) + " times.")
me.reset_login_attempts()
print("Your login attempts have been resetted, now is " + str(me.login_attempts) + ".")
运行结果:
Name: Peng Yifeng
Age: 18
Sex: male
Hello, Peng Yifeng.
You have logged in 4 times.
Your login attempts have been resetted, now is 0.
《Python编程:从入门到实践》 练习 9-4 9-5相关推荐
- python编程 从入门到实践怎么样-python编程从入门到实践这本书怎么样
<Python编程-从入门到实践>作者: Eric Matthes,已翻译为中文,人民邮电出版社出版. python编程从入门到实践怎么样? 我们一起看看已经学习的同学对这本书的口碑和评价 ...
- python编程入门指南怎么样-python编程从入门到实践这本书怎么样
<Python编程-从入门到实践>作者: Eric Matthes,已翻译为中文,人民邮电出版社出版. python编程从入门到实践怎么样? 我们一起看看已经学习的同学对这本书的口碑和评价 ...
- python编程 入门到实践-终于懂了python编程从入门到实践
Python语言是一种典型的脚本语言,简洁,语法约束少,接近人类语言.有丰富的数据结构,例如列表.字典.集合等.具有可移植性,支持面向过程和面向对象编程,并且开源.以下是小编为你整理的python编程 ...
- python编程 从入门到实践豆瓣-三周刷完《Python编程从入门到实践》的感受
本文将以对话采访的形式展现 为什么会选择学习Python 语法简洁,实用,和golang部分类似,学习性价比高: 应用范围广,涉及后端,机器学习,图像处理,游戏等: 好奇这是一门怎样的语言 计划如何学 ...
- python入门到实践-Python编程从入门到实践(基础入门)
Python编程从入门到实践-------基础入门 1.Python中的变量 2.Python首字母大写使用title()方法,全部大写upper()方法,全部小写lower()方法 3.Python ...
- python基础学习[python编程从入门到实践读书笔记(连载五)]:数据可视化项目第16章
文章目录 下载数据 制作全球地震散点图:JSON格式 end 几个实验结果: 每日最高气温: 地震图绘制: 下载数据 CSV文件格式 在文本文件中存储数据,一个简单方式是将数据作为一系列以逗号分隔的值 ...
- python基础学习[python编程从入门到实践读书笔记(连载三)]:django学习笔记web项目
文章目录 Django项目:学习笔记web网页 项目部署 参考 自己部署的网站,还是小有成就感的,毕竟踩过很多坑,实战技能也有些许进步. 网站链接:http://lishizheng.herokuap ...
- python基础学习[python编程从入门到实践读书笔记(连载一)]
写在前面:本文来自笔者关于<python编程从入门到实践>的读书笔记与动手实践记录. 程序员之禅 文章目录 02变量和简单数据类型 03 列表简介 04 操作列表 05 if语句 06 字 ...
- pythonwhile循环love_input和while循环——Python编程从入门到实践
Python Python开发 Python语言 input和while循环--Python编程从入门到实践 input( ) input()函数:让程序运行暂停,等待用户输入. message = ...
- python数据可视化从入门到实战_《Python编程从入门到实践》json数据可视化练习详解...
<Python编程从入门到实践>16.2中,计算收盘价均值的程序有些不易看懂,结合我自己的理解进行一些说明. 使用的数据集:join格式的数据, 数据集是由多个字典为元素组成的列表.每个字 ...
最新文章
- [Git] 拉开发分支的代码报错
- python是什么编程教程-编程python是什么_谁的Python教程最好?
- Python 技术篇 - 查看python库都包含什么方法,查看python模块某个方法的具体用法源码,查看python模块所在的物理位置,查看python库都包含哪些属性
- mysql 降序_MySQL 8 新特性之降序索引底层实现
- 深入理解Java中异常体系
- javascript对象包含哪些要素_重学JavaScript 对象
- 真正想创业,做一番事业的人是什么样子的?
- PHP实反向代理-收藏
- Windows Server 2008 计划任务配置(任务计划程序)每分钟执行BAT
- ubuntn 常用命令和快捷键汇总
- 仿绚丽彩虹播放器程序源码
- vscode环境搭建:配置prettier
- 使用宏基因组的方法快速鉴定新冠病毒SARS-CoV2
- GitHub 预览 Copilot,一个 OpenAI 驱动的编码助手
- 喧喧聊天的协同开源办公工具环境搭建
- 题目60 相同字母消除法(栈)(ok)
- Eclipse插件安装(在线和离线方式)
- 基于ESP8266与Blinker(点灯科技平台)的智能遥控器设计
- 二十 关于gmtime、gmtime_r、localtime、localtime_r
- C# 2010 激活码
热门文章
- Android AOSP 源码 编译 android5.1.1,并刷入手机
- python彩色七段数码管绘制
- 【docker lnmp】 2、容器mysql 连接问题 getaddrinfo failed
- 第三章 CSS 选择器的命名
- Springboot 使用JPA Repository 注入失败问题
- 最近两周出去面试遇到的面试题(前端初级、长更)
- jvisualvm 连接 docker 监控springboot jvm
- 寒武纪行歌 - 智能驾驶大算力芯片入局者
- 华为M3平板升级鸿蒙系统,华为m3平板 日版刷国行 没有重力感应怎么解决?(篇二)...
- 使用ECS和OSS搭建个人网盘