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判断输入日期为第几天的实例
Nov 13 Python
pandas每次多Sheet写入文件的方法
Dec 10 Python
python Pexpect 实现输密码 scp 拷贝的方法
Jan 03 Python
解决python字典对值(值为列表)赋值出现重复的问题
Jan 20 Python
jenkins配置python脚本定时任务过程图解
Oct 29 Python
简单了解Pandas缺失值处理方法
Nov 16 Python
tensorflow2.0保存和恢复模型3种方法
Feb 03 Python
Python基于smtplib协议实现发送邮件
Jun 03 Python
Python加速程序运行的方法
Jul 29 Python
python简单实现9宫格图片实例
Sep 03 Python
pandas处理csv文件的方法步骤
Oct 16 Python
自己搭建resnet18网络并加载torchvision自带权重的操作
May 13 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自定义函数实现代码
2011/12/30 PHP
PHP父类调用子类方法的代码例子
2014/04/09 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
浅谈php的TS和NTS的区别
2019/03/13 PHP
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
jQuery 图片切换插件(代码比较少)
2012/05/07 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
针对BootStrap中tabs控件的美化和完善(推荐)
2016/07/06 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
[01:05:36]VP vs TNC Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
举例讲解Python的Tornado框架实现数据可视化的教程
2015/05/02 Python
python制作爬虫爬取京东商品评论教程
2016/12/16 Python
Python最火、R极具潜力 2017机器学习调查报告
2017/12/11 Python
在pandas多重索引multiIndex中选定指定索引的行方法
2018/11/16 Python
关于tf.reverse_sequence()简述
2020/01/20 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
Foot Locker澳洲官网:美国运动服和鞋类零售商
2019/10/11 全球购物
ORACLE十问
2015/04/20 面试题
《雪地里的小画家》教学反思
2014/02/22 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
毕业实习感受与体会
2015/05/26 职场文书
ubuntu下常用apt命令介绍
2022/06/05 Servers
java实现web实时消息推送的七种方案
2022/07/23 Java/Android