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 字符串中的字符倒转
Sep 06 Python
Python实现的生成自我描述脚本分享(很有意思的程序)
Jul 18 Python
python基础教程之对象和类的实际运用
Aug 29 Python
深入解析Python设计模式编程中建造者模式的使用
Mar 02 Python
python操作 hbase 数据的方法
Dec 18 Python
python 类对象和实例对象动态添加方法(分享)
Dec 31 Python
一份python入门应该看的学习资料
Apr 11 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
Python中Subprocess的不同函数解析
Dec 10 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
Feb 28 Python
Python如何批量获取文件夹的大小并保存
Mar 31 Python
python和php哪个容易学
Jun 19 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
linux iconv方法的使用
2011/10/01 PHP
php+highchats生成动态统计图
2014/05/21 PHP
php中判断数组相等的方法以及数组运算符介绍
2015/03/30 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
jQuery性能优化28条建议你值得借鉴
2013/02/16 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
jQuery函数的第二个参数获取指定上下文中的DOM元素
2014/05/19 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
2015/03/06 Javascript
jQuery实现复选框批量选择与反选的方法
2015/06/17 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
2015/08/24 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
JavaScript函数中关于valueOf和toString的理解
2016/06/14 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
2021/02/25 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
JS中Safari浏览器中的Date
2017/07/17 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
Bootstrap Fileinput 4.4.7文件上传实例详解
2018/07/25 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
2019/09/04 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
在VUE中使用lodash的debounce和throttle操作
2020/11/09 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
vue+element table表格实现动态列筛选的示例代码
2021/01/14 Vue.js
Python Socket编程入门教程
2014/07/11 Python
MAC中PyCharm设置python3解释器
2017/12/15 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
2020/05/26 HTML / CSS
幼儿园家长会欢迎词
2014/01/09 职场文书
军训考核自我鉴定
2014/02/13 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
临床专业自荐信
2014/06/22 职场文书
领导干部保密承诺书
2014/08/30 职场文书
追悼词范文大全
2015/06/23 职场文书
工作服管理制度范本
2015/08/06 职场文书
浅析Python中的随机采样和概率分布
2021/12/06 Python