Python实现的简单算术游戏实例


Posted in Python onMay 26, 2015

本文实例讲述了Python实现的简单算术游戏。分享给大家供大家参考。具体实现方法如下:

#!/usr/bin/env python
from operator import add, sub 
from random import randint, choice
ops = {'+': add, '-':sub}
#定义一个字典
MAXTRIES = 2 
def doprob():
  op = choice('+-')
  #用choice从'+-'中随意选择操作符 
  nums = [randint(1,10) for i in range(2)]
  #用randint(1,10)随机生成一个1到10的数,随机两次使用range(2) 
  nums.sort(reverse=True)
  #按升序排序
  ans = ops[op](*nums)
  #利用函数
  pr = '%d %s %d = ' % (nums[0], op, nums[1])
  oops = 0 
  #oops用来计算failure测试,当三次时自动给出答案
  while True:
    try:
      if int(raw_input(pr)) == ans:
        print 'correct'
        break
      if oops == MAXTRIES:
        print 'answer\n %s%d' % (pr, ans)
        break
      else:
        print 'incorrect... try again'
        oops += 1
    except (KeyboardInterrupt, EOFError, ValueError):
      print 'invalid ipnut... try again'
def main():
  while True:
    doprob()
    try:
      opt = raw_input('Again? [y]').lower()
      if opt and opt[0] == 'n':
        break
    except (KeyboardInterrupt, EOFError):
      break
if __name__ == '__main__':
  main()

运行结果如下:

8 - 1 = 7
correct
Again? [y]y
7 - 1 = 6
correct
Again? [y]y
9 + 4 = 0
incorrect... try again
9 + 4 =

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python学习笔记之os模块使用总结
Nov 03 Python
使用Python抓取模板之家的CSS模板
Mar 16 Python
python内置函数:lambda、map、filter简单介绍
Nov 16 Python
Python 装饰器实现DRY(不重复代码)原则
Mar 05 Python
简单分析python的类变量、实例变量
Aug 23 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
pycharm通过anaconda安装pyqt5的教程
Mar 24 Python
tensorflow实现从.ckpt文件中读取任意变量
May 26 Python
Pycharm无法打开双击没反应的问题及解决方案
Aug 17 Python
Python通过fnmatch模块实现文件名匹配
Sep 30 Python
pycharm 的Structure界面设置操作
Feb 05 Python
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
Mar 29 Python
Django中使用group_by的方法
May 26 #Python
python3序列化与反序列化用法实例
May 26 #Python
python实现用于测试网站访问速率的方法
May 26 #Python
Python函数可变参数定义及其参数传递方式实例详解
May 25 #Python
Python易忽视知识点小结
May 25 #Python
Python中类型关系和继承关系实例详解
May 25 #Python
pymssql数据库操作MSSQL2005实例分析
May 25 #Python
You might like
PHP curl实现抓取302跳转后页面的示例
2014/07/04 PHP
PHP使用Mysql事务实例解析
2014/09/08 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
学习ExtJS Window常用方法
2009/10/07 Javascript
jQuery 连续列表实现代码
2009/12/21 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
JS判断当前日期是否大于某个日期的实现代码
2012/09/02 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
2016/01/10 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
jquery判断input值不为空的方法
2016/06/05 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
2020/03/16 Javascript
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
python中matplotlib的颜色及线条控制的示例
2018/03/16 Python
JSON文件及Python对JSON文件的读写操作
2018/10/07 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
python如何删除文件中重复的字段
2019/07/16 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
澳大利亚实惠时尚女装商店:Katies
2019/06/16 全球购物
应届毕业生求职自荐书
2014/01/03 职场文书
教师产假请假条
2014/04/10 职场文书
商务代表岗位职责
2015/02/15 职场文书
信息技术课教学反思
2016/02/23 职场文书
Vue的生命周期一起来看看
2022/02/24 Vue.js