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 Web开发框架Django
Jun 30 Python
python实现自动重启本程序的方法
Jul 09 Python
Python随机生成带特殊字符的密码
Mar 02 Python
python中urllib.unquote乱码的原因与解决方法
Apr 24 Python
Python下使用Scrapy爬取网页内容的实例
May 21 Python
Django接收post前端返回的json格式数据代码实现
Jul 31 Python
Python中Subprocess的不同函数解析
Dec 10 Python
将python依赖包打包成window下可执行文件bat方式
Dec 26 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
Feb 27 Python
python使用paramiko实现ssh的功能详解
Mar 06 Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 Python
python 获取剪切板内容的两种方法
Nov 28 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设计模式中的工厂模式
2008/06/12 PHP
兼容firefox,chrome的网页灰度效果
2011/08/08 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
浅析JavaScript中的类型和对象
2013/11/29 Javascript
深入理解Javascript中this的作用域
2014/08/12 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
angular 未登录状态拦截路由跳转的方法
2018/10/09 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
简单了解Python字典copy与赋值的区别
2020/09/16 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
html5 标签
2009/07/16 HTML / CSS
澳大利亚女士时装在线:Rockmans
2018/09/26 全球购物
database面试题
2013/03/28 面试题
生产经理的自我评价分享
2013/11/07 职场文书
物业管理个人自我评价
2013/11/08 职场文书
工作决心书
2014/03/11 职场文书
2015年学校减负工作总结
2015/05/19 职场文书