一个动物园有十个房间,里面有两种动物,老虎、羊。老虎的体重是200斤,羊体重100斤。游戏开始之前,在10个房间里面,随机

放入老虎和羊。游戏这的目标是要把羊和老虎喂的越重越好。

游戏开始后,系统随机给出房间号。游戏者开始必须弄清楚,每个房间是老虎还是羊,方法是敲房间门,里面的动物都会叫,老虎叫声‘wow!!!’,

羊叫声是‘mie’。动物每叫一次体重减5斤。喂老虎应该输入单词meet,喂羊应该输入单词grass。喂对了体重加10斤。喂错了。体重减少10斤

游戏者需要强记每个房间的动物是什么,以便不需要敲门就可以得知里面的动物是什么,从而该喂什么。这样不断循环。游戏2分钟结束后。看看你喂的动物总体重多少

面向对象:

#定义 类 使用 class 关键字

class Tiger():

#静态属性

classname = '老虎'

#实例属性

def __init__(self,weight= 200):

#self代表实例对象本身

self.weight = weight

#老虎叫声,实例方法

def jiao(self):

print("wow!!!")

self.weight -= 5

#喂食

def eat(self,tt):

if tt == 'meet':

self.weight += 10

elif tt == 'grass':

self.weight -= 10

class Sheep():

#静态属性

classname = '喜羊羊'

#实例属性

def __init__(self,weight= 100):

#self代表实例对象本身

self.weight = weight

#老虎叫声,实例方法

def jiao(self):

print("mie!!!")

self.weight -= 5

#喂食

def eat(self,tt):

if tt == 'meet':

self.weight -= 10

elif tt == 'grass':

self.weight += 10

class Room():

def __init__(self,room_num,animal):

self.room_num = room_num

self.animal = animal

from random import randint

rooms = []

#实例化10个房间对象

for one in range(0,10):

if randint(0,1) == 1:

ani = Tiger()

else:

ani = Sheep()

#对象的组合

aaa = Room(one,ani)

#实例化的10个房间,添加到列表中

rooms.append(aaa)

import time

ss = time.time()

while True:

sss = time.time()

if sss - ss > 20:

print("游戏结束")

for idx,room in enumerate(rooms):

print("房间:%s" %(idx+1),room.animal.classname,room.animal.weight)

#print(f"{idx+ 1}的动物为{room.animal.classname}体重是{room.animal.wieht}")

break

#随机出现1到10作为列表下标

room_no = randint(1, 10)

room = rooms[room_no-1]

mm = input("我们来到了房间:%s,要敲门吗?[y/n]" %room_no)

if mm == 'y':

room.animal.jiao()

yy = input("请喂食:")

room.animal.eat(yy)

python 动物园_python面向对象 动物园 例题相关推荐

  1. python设计一个动物类_python面向对象 动物园 例题

    一个动物园有十个房间,里面有两种动物,老虎.羊.老虎的体重是200斤,羊体重100斤.游戏开始之前,在10个房间里面,随机 放入老虎和羊.游戏这的目标是要把羊和老虎喂的越重越好. 游戏开始后,系统随机 ...

  2. python 对象_python面向对象

    OOP -面向对象 1.python的面向对象相关概念 2.类与对象 2.1 类和对象的创建 2.2 类属性与实例属性 2.3 类方法和实例方法 2.4 self 3.面向对象编程 封装 继承 构造i ...

  3. python多态_Python面向对象教程之多态

    今天给大家介绍面向对象最后一个重要的特性--多态.如果想温习前两个重要特性(继承和封装),可以点开:<Python面向对象教程之基本概念>.<Python面向对象教程之单继承> ...

  4. python 封装_Python 面向对象三大特性之封装

    封装 定义:隐藏对象的属性和实现细节,仅对外提供公共访问方式. [好处] 将变化隔离: 便于使用: 提高复用性: 提高安全性: [封装原则] 将不需要对外提供的内容都隐藏起来: 把属性都隐藏,提供公共 ...

  5. cs精英游戏python代码_python面向对象-cs游戏示例

    #!/usr/local/bin/python3 # -*- coding:utf-8 -*- class Role(object): n = 123 # 类变量 name = "我是类na ...

  6. python小鱼_Python面向对象练习-通过pygame改良乌龟吃鱼

    先看看最后效果 图片的话是从网上小鱼儿那个案例里面拿的,实现的功能如下: 是通过方向键操作乌龟,进行吃鱼 吃鱼的时候根据乌龟的x,y坐标和鱼的x,y进行检测,在碰撞区域则干掉这条鱼 背景音乐和吃鱼音乐 ...

  7. python是一门面向对象的编程语言_python面向对象

    第六章 对象(Object) 什么是对象? - 对象是内存中专门用来存储数据的一块区域. - 对象中可以存放各种数据(比如:数字.布尔值.代码) - 对象由三部分组成: 1.对象的标识(id) 2.对 ...

  8. python面向对象类创建人物类包含姓名、职业_Python面向对象思想与应用入门教程【类与对象】...

    本文实例讲述了Python面向对象思想与应用.分享给大家供大家参考,具体如下: 面向对象思想 1.面向对象的设计思想 面向对象是基于万物皆对象这个哲学观点. 2.面向对象和面向过程的区别 面向过程 在 ...

  9. python对象和类区别_python面向对象(类与对象)

    面向对象思想 关注公众号"轻松学编程"了解更多. 1.面向对象的设计思想 面向对象是基于万物皆对象这个哲学观点. 2.面向对象和面向过程的区别 面向过程 在生活中: 它是一种看待问 ...

  10. python面向对象编程中方法和属性_Python面向对象编程中关于类和方法的学习笔记...

    Python面向对象编程中关于类和方法的学习笔记 类与类方法是面向对象的编程语言中必不可少的特性,本文总结了Python面向对象编程中关于类和方法的学习笔记,需要的朋友可以参考下 类和实例 pytho ...

最新文章

  1. JAVA基础——编程练习(一)
  2. 跟郎朗媳妇有得一拼的AI,只看弹琴动作,完美复现原声 | CVPR 2020
  3. 【NLP】ACL 2010-2020研究趋势总结
  4. String对象的intern()
  5. arcgis选出点规定范围的面
  6. JSP中get和post请求方式的区别及乱码解决方法
  7. strlen() Bug
  8. 开始深入的学习javascript
  9. zeromq不需要消息服务器,ZeroMQ发布订阅TCP丢弃消息订阅服务器失败
  10. 软件版本 —— Alpha、Beta、RC、Stable版本的区别
  11. 创建Windows Mobile上兼容性好的UI 程序
  12. iOS开发--添加定位功能
  13. Ehcache缓存的使用
  14. 如何批量将 Xlsx 格式的 Excel 文档转为 Xls 格式
  15. cadence Allegro17.2关闭start page 界面方法
  16. 信奥赛1990:【19CSPS提高组】划分
  17. My Fifty-First Page - 组合总和 - By Nicolas
  18. 服务器网卡不显示了,重装系统后网络适配器怎么不见了?没有网络适配器解决方法...
  19. numpy.random.seed()用法详解
  20. 深入了解快排 以及 优化

热门文章

  1. 企业的主数据建设方法论与实践 | 推荐收藏
  2. leetcode 热点——排列组合问题
  3. LCD 1602学习
  4. airplay 协议开源资料整理
  5. 搜索引擎技术 —— 网络爬虫
  6. web微信授权登录-代码篇
  7. c语言二维数组学习,C语言学习之二维数组的传参
  8. 小学语文必背的古诗词分类汇总,建议给孩子收藏!
  9. 微信第三方平台对接小程序发版
  10. NR 5G: Relaxed measurement