本文实例为大家分享了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实现随机加减法生成器相关推荐

  1. python加减法器课程报告_python实现随机加减法生成器

    本文实例为大家分享了python实现随机加减法生成器的具体代码,供大家参考,具体内容如下 为了让外甥女练习算术,用python给她写了个自动出加减法的小程序. 该程序使用了文字转语音的库pyttsx, ...

  2. 矩阵 python 加法_Python矩阵加法

    矩阵 python 加法 Here you will get program for python matrix addition. In python "list" concep ...

  3. Python练手小项目——随机加减法生成器

    为了让外甥女练习算术,用python给她写了个自动出加减法的小程序. 该程序使用了文字转语音的库pyttsx,程序运行时,会有相对应的语音提示.pyttsx文档 为了防止小孩乱按键盘,导致非法输入,我 ...

  4. python 中文名_python生成随机中文姓名和拼音

    def sayhello(): print('hellopython') import pinyin import random def random_name(): # 删减部分,比较大众化姓氏 f ...

  5. 用python做一个随机题目生成器

    你好! 要用 Python 做一个随机题目生成器,你可以使用 Python 的 random 模块来生成随机数. 下面是一个简单的例子,它会生成一道加法题: import random# 生成两个随机 ...

  6. python迭代器与生成器_python的迭代器与生成器实例详解

    本文以实例详解了python的迭代器与生成器,具体如下所示: 1. 迭代器概述: 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后 ...

  7. python随机数列_Python2随机数列生成器简单实例

    本文实例讲述了Python2随机数列生成器.分享给大家供大家参考,具体如下: #filename:randNumber.py import random while True: try: row=in ...

  8. python的英文单词表_随机单词生成器 - Python

    所以我基本上是在一个项目中,计算机从单词列表中抽出一个单词,并为用户乱七八糟.只有一个问题:我不想不断地在列表中写很多单词,所以我想知道是否有一种方法可以导入大量的随机单词,所以即使我不知道它是什么, ...

  9. python生成器 图片分类_Python内置类型(6)——生成器

    上节内容说到Python的for语句循环本质上就是通过调用Iterable可迭代对象的__iter()__方法获得一个Iterator迭代器对象,然后不断调用Iterator迭代器对象__next() ...

最新文章

  1. Web前端css知识点概括
  2. golang中的方法
  3. ITK:复制过滤器filter
  4. rffc2071_基于 RFFC2071的变频器设计
  5. P4720 【模板】扩展卢卡斯定理/exLucas(无讲解,纯记录模板)
  6. 吴恩达深度学习——2.1 二分分类
  7. Mybatis 一对多 简单映射配置
  8. iOS事件机制,以及不同手势使用touchesBegan等表现形式
  9. ES6新特性_ES6扩展运算符的应用---JavaScript_ECMAScript_ES6-ES11新特性工作笔记014
  10. optimize 回收表空间的一些说明
  11. ADSL拨号网络环境下实时视频广播的完美实现
  12. linux chmod 命令理解
  13. java程序的编程规范
  14. C# 回调函数的实现和应用场景
  15. 计算机操作系统——死锁的概念与处理
  16. 选择与循环:剪刀石头布_剪刀石头布十大奢侈家具,创造高端精致生活就是这么简单!...
  17. Android 2020年最新保活方案 保活90% 已适配8.0 ,9.0, 10.0(酷狗音乐)
  18. python工资条教程_我用python帮朋友写了一个“制作工资条”的自动化程序!网友说:真棒!...
  19. 简单的爬取某租房网站租房信息并存入MySQL数据库
  20. 项目管理中的三大误区

热门文章

  1. 摸鱼神器!VS Code 变身小霸王游戏机!
  2. 汽车上的IG-on 和 ACC 有什么区别?
  3. 图像识别DM8127开发攻略——KERNEL的移植说明
  4. 0404_Vue_D4:
  5. [IT] 软件自动化解决方案『免费开源』基于 JavaFx 的自动化测试系统,已更新至 V1.1.3 最新版
  6. python儿童宣传-python儿童教学
  7. 全民直播答题爆红,平台烧钱混战能火多久
  8. Civil3d—Revit建断层模型技术路线
  9. 最新USBPD3.1 快充协议
  10. docker中安装rundeck