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 图片验证码代码分享
Jul 04 Python
python获得两个数组交集、并集、差集的方法
Mar 27 Python
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 Python
python批量实现Word文件转换为PDF文件
Mar 15 Python
Python实现确认字符串是否包含指定字符串的实例
May 02 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
Jul 13 Python
python中的colorlog库使用详解
Jul 05 Python
基于python的BP神经网络及异或实现过程解析
Sep 30 Python
python创建n行m列数组示例
Dec 02 Python
利用python查看数组中的所有元素是否相同
Jan 08 Python
python scrapy简单模拟登录的代码分析
Jul 21 Python
Pygame Event事件模块的详细示例
Nov 17 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
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
codeigniter数据库操作函数汇总
2014/06/12 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
js一组验证函数
2008/12/20 Javascript
仿jQuery的siblings效果的js代码
2011/08/09 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
jQuery链式操作如何实现以及为什么要用链式操作
2013/01/17 Javascript
checkbox全选所涉及到的知识点介绍
2013/12/31 Javascript
使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
2014/09/01 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
微信小程序实现皮肤功能(夜间模式)
2017/06/18 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
Python实现的简单计算器功能详解
2018/08/25 Python
Nike英国官网:Nike.com (UK)
2017/02/13 全球购物
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
工程监理应届生求职信
2013/11/09 职场文书
机电一体化专业毕业生自荐信
2014/06/19 职场文书
坚守艰苦奋斗精神坚决反对享乐主义整改措施
2014/09/17 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书
学前班教学反思
2016/02/24 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书
Python办公自动化之教你如何用Python将任意文件转为PDF格式
2021/06/28 Python
SONY AN-LP1 短波有源天线放大器图
2022/04/05 无线电