python学习---模拟人生

【软件说明& 注意事项】

1、模拟人生(小孩买宠物)程序开发环境:
OS:64位Windows 7
IDE:pycharm4.0.4
python版本:3.5.1 32位

2、模拟人生(小孩买宠物)程序只做python学习使用,版权有作者所有,未经过作者本人同意,不得将此模拟人生(小孩买宠物)程序应用于商业用途。

3、模拟人生(小孩买宠物)程序简述:

1、程序模拟出2种角色,小孩与宠物。
2、小孩的属性有初始化购买宠物的金额为1000元,初始幸福值为100
3、小孩的方法有,摸宠物的头(宠物对应动作是咬你一口),摸宠物的尾巴(宠物对应的动作是摇尾巴),购买宠物等
4、宠物的方法有,咬一口并且汪汪汪或者喵喵喵的叫,舔主人的手,摇尾巴三个方法
5、宠物摇一次尾巴或者舔一次小孩的手,小孩的幸福值+20,宠物咬小孩一次,小孩的幸福值-30
6、小孩最终幸福值>20时才会选择购买该宠物

4、使用方法

IDE环境或者linux下运行kids_and_pets.py

流程图:

  1 __author__ = ‘Bruce‘
  2 ‘‘‘-------模拟人生(小孩买宠物)--------‘‘‘
  3 class naughtykids():
  4     money = 1000
  5     happniess = 100
  6     def __init__(self,name):
  7         self.name = name
  8     def petswant(self,pet):
  9         print("%s:我来到宠物店,老板,我想要买一只%s " %(self.name,pet))
 10         self.pet = pet
 11     def touchpethead(self):
 12         print(‘%s:我摸一下它的头‘%self.name)
 13     def touchpetail(self):
 14         print(‘%s:我摸一下它的尾巴‘%self.name)
 15     def balance(self):
 16         self.money -= 400#宠物价格
 17         if self.happniess > 60:
 18             print(‘%s:太高兴了,我的宠物很喜欢我,我花了%s块就带它回家了‘%(self.name,self.money))
 19         elif self.happniess < 0:
 20             print(‘%s:才不买你呢,讨厌的小家伙,哼哼....‘%self.name)
 21         else:
 22             print(‘%s:小家伙还有点不喜欢我呢,哈哈哈,买回家好好调戏你‘%self.name)
 23     def pain(self):#疼痛
 24         self.happniess-=30#被咬一次幸福值减30
 25         if self.happniess < 20:
 26             print("%s:每次都咬我,看来真不喜欢我,哼......"%self.name)
 27         elif self.happniess <40:
 28             print(‘%s:哦,它居然咬我,好疼,不开心...小兔崽子看我以后怎么收拾你‘%self.name)
 29         else:
 30             print(‘%s:哈哈,小家伙居然会咬人,真是太喜欢了‘%self.name)
 31     def happyfeel(self):
 32         self.happniess+=20#感到快乐一次幸福值加20
 33         print("%s:看起来它喜欢我"%self.name)
 34
 35 class animal():
 36     def __init__(self,kind):
 37         self.kind = kind
 38     def wagtail(self,name=‘小宠物‘):#摇尾巴
 39         print(‘%s:摇尾巴‘ %name)
 40     def bite(self,name):#咬人
 41         if self.kind == ‘小狗‘:
 42             print(‘%s:咬你一口,汪汪汪‘%name)
 43         elif self.kind == ‘小猫‘:
 44             print(‘%s:咬你一口,喵喵喵‘%name)
 45     def licking(self,name):#舔手
 46         print("%s:舔一下手" %name)
 47
 48 def roleinit():#角色初始化,根据用户的选择初始化角色
 49     print(‘------宠物游戏------‘)
 50     rolelist = {‘1‘:kids,‘2‘:pets}
 51     while True:
 52         rolechoice=input(‘选择您的初始化游戏角色:\n--->1,小孩;\n--->2,宠物:‘).strip()
 53         if rolechoice in rolelist:
 54             return rolelist[rolechoice]()
 55         else:
 56             print("输入错误")
 57             continue
 58 def kids():
 59     name = input("请输入小盆友的名字:").strip()
 60     sexlist={‘1‘:‘男孩‘,‘2‘:‘女孩‘}
 61     while True:
 62         sex = input(‘请选择小盆友的性别:\n--->1,男孩;\n--->2,女孩:‘).strip()
 63         role = ‘kids‘
 64         if sex in sexlist:
 65             return name,sexlist[sex],role
 66         else:
 67             print("输入错误")
 68             continue
 69 def pets():
 70     kindslist={‘1‘:‘小狗‘,‘2‘:‘小猫‘}
 71     name = input("请输入宠物的名字:").strip()
 72     while True:
 73         kind = input("请输入宠物的种类:\n--->1,小狗;\n--->2,小猫:").strip()
 74         role=‘pets‘
 75         if kind in kindslist:
 76             return name,kindslist[kind],role
 77         else:
 78             print("输入错误")
 79             continue
 80
 81 def main_game(kidsname,kidsex,petskind,action=None,petname=‘小宠物‘):#交互过程
 82     if action == ‘touchpetail‘:#摸摸尾巴
 83         gamekids.touchpetail()
 84         gamepets.wagtail(petname)
 85         gamekids.happyfeel()
 86     elif action == ‘touchpethead‘:#摸摸头
 87         gamekids.touchpethead()
 88         gamepets.bite(petname)#宠物咬了我一口
 89         gamekids.pain()
 90     elif action == ‘licking‘:#舔手
 91         gamepets.licking(petname)
 92         gamekids.happyfeel()
 93         # gamekids.balance()
 94     elif action == ‘wagtail‘:#摇尾巴
 95         gamepets.wagtail(petname)
 96         gamekids.happyfeel()
 97         gamekids.touchpetail()
 98     elif action == ‘bite‘:
 99         gamepets.bite(petname)
100         gamekids.pain()
101
102 if __name__ == ‘__main__‘:
103     res_select1,res_select2,role =roleinit()#名字,性别/种类,角色
104     print(‘------游戏开始------‘)
105     if role ==‘kids‘:
106         print("%s:哈喽, 我叫%s, 我是一个%s,接下来就是我的故事..."%(res_select1,res_select1,res_select2))
107         print(‘%s:今天我的心情非常好,我想去宠物店买一只宠物‘%res_select1)
108         rolelist = {‘1‘:‘小狗‘,‘2‘:‘小猫‘}
109         pet = input("%s:我来到宠物店,我要买:\n--->1,小狗;\n--->2,小猫:"%res_select1).strip()
110         gamekids = naughtykids(res_select1)#实例化小盆友
111         gamepets = animal(rolelist[pet])#实例化小宠物
112         while True:
113             actionlist ={"1":‘touchpethead‘,‘2‘:‘touchpetail‘}
114             kidsaction = input("%s:%s真可爱,我要调戏一下它:\n--->1,摸摸头;\n--->2,摸摸尾巴:"%(res_select1,rolelist[pet])).strip()
115             print("--------调戏现场--------")
116             main_game(res_select1,res_select2,rolelist[pet],action=actionlist[kidsaction],petname=‘小宠物‘)#
117             print("--------调戏现场--------")
118             print(‘%s的幸福值:%s‘%(res_select1,gamekids.happniess))
119             continue_ornot = input("继续调戏Y/N:").strip().lower()
120             if continue_ornot == ‘y‘:
121                 pass
122             else:
123                 break
124         if gamekids.happniess > 20:#幸福值大于20都会去买
125             gamekids.balance()#购买了宠物
126         else:
127             print("哼...讨厌你这只%s"%rolelist[pet])
128         print("------游戏开始------")
129
130     elif role == ‘pets‘:
131         print("%s:哈喽, 我叫%s, 我是一个%s,原本没有我什么故事的..."%(res_select1,res_select1,res_select2))
132         print(‘%s:只是想安静的晒晒太阳,突然来了个小盆友,貌似注意到了我‘%res_select1)
133         kidslist = {‘1‘:‘小男孩‘,‘2‘:‘小女孩‘}
134         kids = input("小盆友是男孩还是女孩:\n--->1,男孩;\n--->2,女孩:").strip()
135         kidsname = input("小主人的名字叫:").strip()
136         gamekids = naughtykids(kidsname)#实例化小盆友
137         gamepets = animal(res_select2)#实例化小宠物
138         while True:
139             actionlist ={"1":‘licking‘,‘2‘:‘wagtail‘,‘3‘:‘bite‘}
140             kidsaction = input("%s:愚蠢的人类,我要反调戏一下你:\n--->1,舔一下手;\n--->2,摇摇尾巴;\n--->3,咬一口:"%res_select1).strip()
141             print("--------调戏现场--------")
142             main_game(kidsname,kidslist[kids],res_select2,action=actionlist[kidsaction],petname=res_select1)
143             print("--------调戏现场--------")
144             print(‘%s的幸福值:%s‘%(kidsname,gamekids.happniess))
145             continue_ornot = input("继续调戏Y/N:").strip().lower()
146             if continue_ornot == ‘y‘:
147                 pass
148             else:
149                 break
150         if gamekids.happniess > 20:#幸福值大于20都会去买
151             gamekids.balance()#购买了宠物
152         else:
153             print("哼...讨厌你这只%s"%res_select2)
154         print("------游戏开始------")

时间: 2024-10-05 23:26:41

python学习---模拟人生的相关文章

python学习:程序控制结构·作业20141219

Python学习:程序控制结构 20141219 编程环境: windows 7 x64 python 2.7.6 题目: 1 编写程序,完成下列题目(1分) 题目内容: 如果列出10以内自然数中3或5的倍数,则包括3,5,6,9.那么这些数字的和为23.要求计算得出任意正整数n以内中3或5的倍数的自然数之和. 输入格式: 一个正整数n. 输出格式: n以内中3或5的倍数的自然数之和. 输入样例: 10 输出样例: 23 时间限制:500ms内存限制:32000kb n = int(raw_in

python学习第二天

python学习的第二天就是个灾难啊,这天被打击了,自己写的作业被否认了,不说了,写博客还是个好习惯的,要坚持下去,就不知道能坚持到什么时候.呵呵!!! 这天教的知识和第一天的知识相差不大,区别在于比第一天讲的更细了(我们是两个老师教的,风格是不一样的),这次也写那些比较细的知识点. python的简介 (1)你的程序一定要有个主文件. (2)对于python,一切事物都是对象,对象基于类创建.#似懂非懂,不过有那么点似懂. 知识点 #__divmod__ 会把两个数字相除的商和余数以元组的方式

[Python 学习] 二、在Linux平台上使用Python

这一节,主要介绍在Linux平台上如何使用Python 1. Python安装. 现在大部分的发行版本都是自带Python的,所以可以不用安装.如果要安装的话,可以使用对应的系统安装指令. Fedora系统:先以root登入,运行 yum install python Ubuntu系统:在root组的用户, 运行 sudo apt-get install python 2. 使用的Python的脚本 Linux是一个以文件为单位的系统,那么我们使用的Python是哪一个文件呢? 这个可以通过指令

python学习之最简单的用户注册及登录验证小程序

文章都是从我的个人博客上粘贴过来的哦,更多内容请点击 http://www.iwangzheng.com 正如很多同学所知道的,楼主开始学习python了,前进的道路曲曲折折,有荆棘也有陷阱,从最简单的小程序写起,每天练习,将python进行到底. 有一点比较别扭的就是python的换行之后空四个空格,ruby都是两个,并且python在方法和循环语句的第一句都要加冒号 mysql> show create table user; mysql> alter table user add sal

python学习--创建模块

昨天做了python客户端和服务器端通信,并把接收到的信息写到数据库,因为对数据库进行操作是个经常调用的行为,所以我想把调用数据库的操作写成一个module来给其它python程序调用,所以将昨天的服务器端程序拆分为两个文件: 1.主程序python.py #!/usr/bin/env python import socket import json import connmysql s = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0) h

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

Python学习day5作业-ATM和购物商城

Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆,用户间转帐 支持多用户 管理员可添加账户.指定用户额度.冻结用户等 购物车: 商品信息- 数量.单价.名称 用户信息- 帐号.密码.余额 用户可充值 购物历史信息 允许用户多次购买,每次可购买多件 余额不足时进行提醒 用户退出时 ,输出当次购物信息 用户下次登陆时可查看购物历史 商品列表分级显示 1

Python学习记录day6

Python学习记录day6 学习 python Python学习记录day6 1.反射 2.常用模块 2.1 sys 2.2 os 2.3 hashlib 2.3 re 1.反射 反射:利用字符串的形式去对象(默认)中操作(寻找)成员 cat commons.py #!/usr/bin/env python#_*_coding:utf-8_*_''' * Created on 2016/12/3 21:54. * @author: Chinge_Yang.''' def login(): pr

python学习笔记12-模块使用

python学习笔记12-模块使用 模块os,sys 什么是模块? 模块os,sys 模块是Python组织代码的一种基本方式 一个Python脚本可以单独运行,也可以导入到另外一个脚本运行,用import hello语句来导入,不用加入.py 什么是Python的 包? Python的模块可以按照目录组织为包 创建一个包的步骤: 创建一个名字为包名的目录 在改目录下创建一个__init__.py文件 根据需要,在该目录下存放脚本文件或已编译的扩展及子包 import pack.m1,pack.