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 域名分析工具实现代码
Jul 15 Python
在 Django/Flask 开发服务器上使用 HTTPS
Jul 03 Python
Python数据类型详解(二)列表
May 08 Python
简单学习Python多进程Multiprocessing
Aug 29 Python
python版opencv摄像头人脸实时检测方法
Aug 03 Python
Python爬虫将爬取的图片写入world文档的方法
Nov 07 Python
python3实现猜数字游戏
Dec 07 Python
Python绘制堆叠柱状图的实例
Jul 09 Python
python实现猜拳小游戏
Apr 05 Python
pycharm实现在子类中添加一个父类没有的属性
Mar 12 Python
Python virtualenv虚拟环境实现过程解析
Apr 18 Python
详解Java中一维、二维数组在内存中的结构
Feb 11 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
yii操作session实例简介
2014/07/31 PHP
PHP基于递归实现的约瑟夫环算法示例
2017/08/27 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
extjs form textfield的隐藏方法
2008/12/29 Javascript
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
javascript实现文本域写入字符时限定字数
2014/02/12 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
2015/01/28 Javascript
js分页工具实例
2015/01/28 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
python列表与元组详解实例
2013/11/01 Python
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
Python使用logging结合decorator模式实现优化日志输出的方法
2016/04/16 Python
Python在不同目录下导入模块的实现方法
2017/10/27 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
python实现简单学生信息管理系统
2020/04/09 Python
导致python中import错误的原因是什么
2020/07/01 Python
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
小学生红领巾广播稿
2014/01/21 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
大学迎新生标语
2014/10/06 职场文书
孔子观后感
2015/06/08 职场文书
正规欠条模板
2015/07/03 职场文书
办公用品管理制度
2015/08/04 职场文书
2015年中学体育教师工作总结
2015/10/23 职场文书
学会用Python实现滑雪小游戏,再也不用去北海道啦
2021/05/20 Python
Nginx源码编译安装过程记录
2021/11/17 Servers