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入门篇之文件
Oct 20 Python
python学习之第三方包安装方法(两种方法)
Jul 30 Python
Python ftp上传文件
Feb 13 Python
python3 对list中每个元素进行处理的方法
Jun 29 Python
几行Python代码爬取3000+上市公司的信息
Jan 24 Python
django配置连接数据库及原生sql语句的使用方法
Mar 03 Python
pytorch使用Variable实现线性回归
May 21 Python
Python warning警告出现的原因及忽略方法
Jan 31 Python
Python动态导入模块和反射机制详解
Feb 18 Python
Python爬虫之Selenium实现窗口截图
Dec 04 Python
解决Jupyter-notebook不弹出默认浏览器的问题
Mar 30 Python
python 网络编程要点总结
Jun 18 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数组的使用方法小结
2010/09/23 PHP
PHP 类与构造函数解析
2017/02/06 PHP
jQuery 性能优化手册 推荐
2010/02/23 Javascript
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
html向js方法传递参数具体实现
2013/08/08 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
2017/09/07 Javascript
vue 中swiper的使用教程
2018/05/22 Javascript
vue-router+nginx 非根路径配置方法
2018/06/30 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
python制作一个桌面便签软件
2015/08/09 Python
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
python3 下载网络图片代码实例
2019/08/27 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
python连接mongodb集群方法详解
2020/02/13 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
2020/02/20 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
高一地理教学反思
2014/01/18 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
单位在职证明书
2014/09/11 职场文书
安全检查汇报材料
2014/12/26 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python
详解pytorch创建tensor函数
2022/03/22 Python