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爬虫之正则表达式
Feb 17 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
Feb 01 Python
python中的turtle库函数简单使用教程
Jul 23 Python
PyQt QCombobox设置行高的方法
Jun 20 Python
500行代码使用python写个微信小游戏飞机大战游戏
Oct 16 Python
Python numpy线性代数用法实例解析
Nov 15 Python
Python Celery多队列配置代码实例
Nov 22 Python
Python字符串格式化输出代码实例
Nov 22 Python
python读取yaml文件后修改写入本地实例
Apr 27 Python
python爬虫基础知识点整理
Jun 02 Python
Python调用C语言程序方法解析
Jul 07 Python
python 窃取摄像头照片的实现示例
Jan 08 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分页代码学习示例分享
2014/02/20 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
2015/01/26 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
js改变img标签的src属性在IE下没反应的解决方法
2013/07/23 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
JavaScript、C# URL编码、解码总结
2017/01/21 Javascript
JS验证字符串功能
2017/02/22 Javascript
Vue响应式原理详解
2017/04/18 Javascript
jQuery操作css样式
2017/05/15 jQuery
关于react中组件通信的几种方式详解
2017/12/10 Javascript
Vue项目中如何引入icon图标
2018/03/28 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
一篇文章搞定Python操作文件与目录
2019/08/13 Python
导致python中import错误的原因是什么
2020/07/01 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
python+requests接口自动化框架的实现
2020/08/31 Python
Python爬虫之Selenium实现窗口截图
2020/12/04 Python
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
缓解脚、腿和背部疼痛:Z-CoiL鞋
2019/03/12 全球购物
网络体系结构及协议的定义
2014/03/13 面试题
保护环境倡议书
2014/04/14 职场文书
党员领导干部承诺书
2014/05/28 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
2014年招生工作总结
2014/11/26 职场文书
楚门的世界观后感
2015/06/03 职场文书
党员观看《筑梦中国》心得体会
2016/01/18 职场文书
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL
Python测试框架pytest高阶用法全面详解
2022/06/01 Python