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使用cx_Oracle模块将oracle中数据导出到csv文件的方法
May 16 Python
python中defaultdict的用法详解
Jun 07 Python
Python中int()函数的用法浅析
Oct 17 Python
python使用itchat实现手机控制电脑
Feb 22 Python
对python-3-print重定向输出的几种方法总结
May 11 Python
matplotlib subplots 设置总图的标题方法
May 25 Python
pandas表连接 索引上的合并方法
Jun 08 Python
python 搜索大文件的实例代码
Jul 08 Python
python pandas.DataFrame.loc函数使用详解
Mar 26 Python
使用python-Jenkins批量创建及修改jobs操作
May 12 Python
Python基于os.environ从windows获取环境变量
Jun 09 Python
Python操作CSV格式文件的方法大全
Jul 15 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
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
2014/01/19 PHP
Yii2创建控制器(createController)方法详解
2016/07/23 PHP
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
JavaScript实现简单的时钟实例代码
2013/11/23 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
vue多次循环操作示例
2019/02/08 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
JSON Web Tokens的实现原理
2017/04/02 Python
python脚本爬取字体文件的实现方法
2017/04/29 Python
python日期时间转为字符串或者格式化输出的实例
2018/05/29 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
如何通过安装HomeBrew来安装Python3
2020/12/23 Python
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
2013/06/03 HTML / CSS
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
2017/01/05 HTML / CSS
HTML5 语音搜索(淘宝店语音搜素)
2013/01/03 HTML / CSS
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
澳大利亚礼品卡商店:Gift Card Store
2019/06/24 全球购物
意大利奢侈品多品牌集合店:TheDoubleF
2019/08/24 全球购物
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
火锅店创业计划书范文
2014/02/02 职场文书
安踏广告词改编版
2014/03/21 职场文书
高中学生期末评语
2014/04/25 职场文书
数学教研活动总结
2014/07/02 职场文书
市场总监岗位职责
2015/02/11 职场文书
校园广播站开场白
2015/06/01 职场文书
win10安装配置nginx的过程
2021/03/31 Servers
Spring中的使用@Async异步调用方法
2021/11/01 Java/Android
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android