python实现随机加减法生成器


Posted in Python onFebruary 24, 2020

本文实例为大家分享了python实现随机加减法生成器的具体代码,供大家参考,具体内容如下

为了让外甥女练习算术,用python给她写了个自动出加减法的小程序。

该程序使用了文字转语音的库pyttsx,程序运行时,会有相对应的语音提示。pyttsx文档

为了防止小孩乱按键盘,导致非法输入,我添加了异常处理:

def validate(num):#判断输入是否非法
 try:
 num=int(num)
 except:
 say("非法输入,请重新输入")
 return False
 return True

完整的代码如下:

import random
import pyttsx
#print(random.randint(0,9))


def say(s):
 engine=pyttsx.init()
 engine.setProperty('voice','HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices\\Tokens\\TTS_MS_ZH-CN_HUIHUI_11.0' )
 engine.setProperty('rate', 250)
 engine.say(s)
 engine.runAndWait()
def validate(num):#判断输入是否非法
 try:
 num=int(num)
 except:
 say("非法输入,请重新输入")
 return False
 return True

def askadd(a,b,c):#询问加法
 if a+b==int(c):
 print("答对了")
 say("答对了")
 else:
 print("答错了,正确答案是:"+str(a+b))
 say("答错了,正确答案是:"+str(a+b))
def asksub(a,b,c):#询问减法
 if a==int(c):
 print("答对了")
 say("答对了")
 else:
 print("答错了,正确答案是:"+str(a))
 say("答错了,正确答案是:"+str(a))


if __name__ == "__main__":
 k=1#统计题数
 while True:
 a=random.randint(1,20)
 b=random.randint(1,20)
 #a,b是加法中的两个加数;a+b被减数,b减数
 #a,b的范围为1-20
 rule=random.randint(0, 1)#随机生成加减法,1 is plus,0 is sub
 if rule==1:
 say('第'+str(k)+'题:'+str(a)+'+'+str(b)+'=')
 c=input('第'+str(k)+'题:'+str(a)+'+'+str(b)+'=')
 while not validate(c):
 c=input(str(a)+'+'+str(b)+'=')
 askadd(a, b, c)
 k=k+1
 continue
 else:
 say('第'+str(k)+'题:'+str(a+b)+'减'+str(b)+'=')
 c=input('第'+str(k)+'题:'+str(a+b)+'-'+str(b)+'=')
 while not validate(c):
 c=input(str(a+b)+'-'+str(b)+'=')
 asksub(a, b, c)
 k=k+1
 continue

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python选择排序算法的实现代码
Nov 21 Python
Python读取图片EXIF信息类库介绍和使用实例
Jul 10 Python
python代码实现ID3决策树算法
Dec 20 Python
Python实现利用163邮箱远程关电脑脚本
Feb 22 Python
python处理数据,存进hive表的方法
Jul 04 Python
python实现超市管理系统(后台管理)
Oct 25 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
python中提高pip install速度
Feb 14 Python
使用Python和百度语音识别生成视频字幕的实现
Apr 09 Python
Python实现对word文档添加密码去除密码的示例代码
Dec 29 Python
浅析python实现动态规划背包问题
Dec 31 Python
Python爬虫入门教程01之爬取豆瓣Top电影
Jan 24 Python
Python拼接字符串的7种方式详解
Mar 19 #Python
python图形界面开发之wxPython树控件使用方法详解
Feb 24 #Python
pytorch使用tensorboardX进行loss可视化实例
Feb 24 #Python
python绘制动态曲线教程
Feb 24 #Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
Feb 23 #Python
Windows系统下pycharm中的pip换源
Feb 23 #Python
推荐8款常用的Python GUI图形界面开发框架
Feb 23 #Python
You might like
PHP获取当前文件所在目录 getcwd()函数
2009/05/13 PHP
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
各种常用的JS函数整理
2013/10/25 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
JS实现DOM删除节点操作示例
2018/04/04 Javascript
使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件(推荐)
2018/05/01 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
2019/03/14 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
Python3分析处理声音数据的例子
2019/08/27 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
Python django框架开发发布会签到系统(web开发)
2020/02/12 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
24个canvas基础知识小结
2014/12/17 HTML / CSS
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
开业庆典邀请函
2014/01/08 职场文书
爱心捐款倡议书范文
2014/05/12 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript
Flask response响应的具体使用
2021/07/15 Python
RPM包方式安装Oracle21c的方法详解
2021/08/23 Oracle
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers