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 10 Python
python定时利用QQ邮件发送天气预报的实例
Nov 17 Python
Django 限制用户访问频率的中间件的实现
Aug 23 Python
Python告诉你木马程序的键盘记录原理
Feb 02 Python
详解python多线程之间的同步(一)
Apr 03 Python
Django结合ajax进行页面实时更新的例子
Aug 12 Python
解决python多行注释引发缩进错误的问题
Aug 23 Python
Python&&GDAL实现NDVI的计算方式
Jan 09 Python
使用TensorFlow搭建一个全连接神经网络教程
Feb 06 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
Mar 02 Python
Numpy一维线性插值函数的用法
Apr 22 Python
Python计算矩阵的和积的实例详解
Sep 10 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判断远程url是否有效的几种方法小结
2011/10/08 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
2016/12/12 PHP
javascript string字符串优化问题
2011/07/31 Javascript
用jquery统计子菜单的条数示例代码
2013/10/18 Javascript
JS中frameset框架弹出层实例代码
2016/04/01 Javascript
关于JS中二维数组的声明方法
2016/09/24 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
微信小程序手动添加收货地址省市区联动
2020/05/18 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
Python 实现引用其他.py文件中的类和类的方法
2018/04/29 Python
详解pyppeteer(python版puppeteer)基本使用
2019/06/12 Python
简单了解python的break、continue、pass
2019/07/08 Python
python设计微型小说网站(基于Django+Bootstrap框架)
2019/07/08 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
Python列表切片常用操作实例解析
2020/03/10 Python
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
世界上最好的威士忌和烈性酒购买网站:The Whisky Exchange
2016/11/20 全球购物
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
什么是"引用"?申明和使用"引用"要注意哪些问题?
2016/03/03 面试题
个人简历自我评价
2014/01/06 职场文书
双语教学实施方案
2014/03/23 职场文书
环保公益策划方案
2014/08/15 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
合同补充协议书
2016/03/24 职场文书
MySQL单表千万级数据处理的思路分享
2021/06/05 MySQL