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简单判断序列是否为空的方法
Jun 30 Python
python列出目录下指定文件与子目录的方法
Jul 03 Python
浅谈python 四种数值类型(int,long,float,complex)
Jun 08 Python
win10环境下python3.5安装步骤图文教程
Feb 03 Python
Python实现动态图解析、合成与倒放
Jan 18 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
May 10 Python
Python脚本完成post接口测试的实例
Dec 17 Python
java中的控制结构(if,循环)详解
Jun 26 Python
python flask几分钟实现web服务的例子
Jul 26 Python
pywinauto自动化操作记事本
Aug 26 Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 Python
python数据分析之用sklearn预测糖尿病
Apr 22 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
简单易用的计数器(数据库)
2006/10/09 PHP
请php正则走开
2008/03/15 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
理解Javascript_02_理解undefined和null
2010/10/11 Javascript
判断iframe里的页面是否加载完成
2014/06/06 Javascript
JS遍历Json字符串中键值对先转成JSON对象再遍历
2014/08/15 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
Three.js利用性能插件stats实现性能监听的方法
2017/09/25 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
js编写简易的计算器
2020/07/29 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
[01:08]DOTA2次级职业联赛 - Shield战队宣传片
2014/12/01 DOTA
Python第三方库的安装方法总结
2016/06/06 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
Django与JS交互的示例代码
2017/08/23 Python
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
python统计中文字符数量的两种方法
2019/01/31 Python
python hough变换检测直线的实现方法
2019/07/12 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
Keras中 ImageDataGenerator函数的参数用法
2020/07/03 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
CSS3中使用RGBA设置透明度的示例
2015/08/04 HTML / CSS
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
你所知道的集合类都有哪些?主要方法?
2012/12/31 面试题
经典大学生求职信范文
2014/01/06 职场文书
《荷花》教学反思
2014/04/16 职场文书
团队精神的演讲稿
2014/05/14 职场文书
经济贸易专业自荐信
2014/06/11 职场文书
故宫导游词
2015/01/31 职场文书
详解Python类和对象内容
2021/06/22 Python