import random
from random import choice ops = ('+','-','×','÷')
ans = []
i=0
while i < 100 :
op1 = choice(ops)
op2 = choice(ops)
n = random.randint(1,9)
if op1 == '+' and op2 == '+' :
a = random.randint(0,100)
b = random.randint(0,100-a)
c = random.randint(0,100-a-b)
ans.append(a + b + c)
elif op1 == '+' and op2 == '-' :
a = random.randint(0,100)
b = random.randint(0,100-a)
c = random.randint(0,a+b)
ans.append(a + b - c)
elif op1 == '+' and op2 == '×' :
b = random.randint(0,9)
c = random.randint(0,9)
a = random.randint(0, 100 - b * c)
ans.append(a + b * c)
elif op1 == '+' and op2 == '÷':
c = random.randint(1, 9)
b = n * c
a = random.randint(0, 100 - b / c)
ans.append(a + b / c)
elif op1 == '-' and op2 == '+' :
a = random.randint(0,100)
b = random.randint(0,a)
c = random.randint(0,100-a+b)
ans.append(a - b + c)
elif op1 == '-' and op2 == '-' :
a = random.randint(0,100)
b = random.randint(0,a)
c = random.randint(0,a-b)
ans.append(a - b - c)
elif op1 == '-' and op2 == '×' :
b = random.randint(0,9)
c = random.randint(0,9)
a = random.randint(b*c,100)
ans.append(a - b * c)
elif op1 == '-' and op2 == '÷':
c = random.randint(1, 9)
b = n * c
a = random.randint(100 - b / c,100)
ans.append(a - b / c)
elif op1 == '×' and op2 == '+' :
a = random.randint(0, 9)
b = random.randint(0, 9)
c = random.randint(0,100-a*b)
ans..append(a * b + c)
elif op1 == '×' and op2 == '-' :
a = random.randint(0,9)
b = random.randint(0,9)
c = random.randint(0,a*b)
ans.append(a * b - c)
elif op1 == '÷' and op2 == '+' :
b = random.randint(1, 9)
a = n * b
c = random.randint(0,100 - a / b)
ans.append(a / b + c)
elif op1 == '÷' and op2 == '-' :
b = random.randint(1,9)
a = n * b
c = random.randint(0,a / b)
ans.append(a / b - c)
else :
continue
print("第%s题: %s%s%s%s%s=" % (i + 1, a, op1, b, op2, c))
i += 1
print("*"*60)
i = 0
while i < len(ans):
print("第%s题的答案是:%d"%(i+1,ans[i]))
i += 1

  

Python自动生成100以内加减乘除混合运算题的更多相关文章

  1. 利用python自动生成verilog模块例化模板

    一.前言 初入职场,一直忙着熟悉工作,就没什么时间更新博客.今天受“利奇马”的影响,只好宅在家中,写写技术文章.芯片设计规模日益庞大,编写脚本成了芯片开发人员必要的软技能.模块端口动不动就几十上百个, ...

  2. 从用python自动生成.h的头文件集合和类声明集合到用python读写文件

    最近在用python自动生成c++的类.因为这些类会根据需求不同产生不同的类,所以需要用python自动生成.由于会产生大量的类,而且这些类是变化的.所以如果是在某个.h中要用include来加载这些 ...

  3. JS练习--自动生成100个li

    点击按钮,自动生成100个li,红.黄.蓝.绿四种颜色的顺序显示出现在页面中 CSS: ;;} ul,li{list-style: none;} #ul1{position: relative;} # ...

  4. Python自动生成代码工具

    项目中有一个需求,对一个基类而言,拥有一个比较方法和拷贝方法,某些地方需要频繁地对这两个方法进行调用.对于所有子类而言,需要重写这两个方法,并在其中维护类内一些成员变量.例如有一个变量m_iMyVal ...

  5. 使用python自动生成docker nginx反向代理配置

    由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...

  6. 利用Python自动生成暴力破解的字典

    Python是一款非常强大的语言.用于测试时它非常有效,因此Python越来越受到欢迎. 因此,在此次教程中我将聊一聊如何在Python中生成字典,并将它用于任何你想要的用途. 前提要求 1,Pyth ...

  7. python 自动生成C++代码 (代码生成器)

    python 代码自动生成的方法 (代码生成器) 遇到的问题 工作中遇到这么一个事,需要写很多C++的底层数据库类,但这些类大同小异,无非是增删改查,如果人工来写代码,既费力又容易出错:而借用pyth ...

  8. python自动生成bean类

    近期在学习python,一直在和java做对比,目前没有发现有通过字段自动生成getter setter方法,故此自己写了一个类,可以通过__init__方法传入类名和字段数组,再调用内部的方法,就可 ...

  9. python 自动生成model 文件 案例分析

    生成方式 Python中想要自动生成 model文件可以通过 sqlacodegen这个命令来生成对应的model文件 sqlacodegen 你可以通过pip去安装: pip install sql ...

随机推荐

  1. redis和memcache列出所有key

    //redis $redis = new Redis(); $redis->connect("host", "port"); $redis->sel ...

  2. lua使用笔记2:Linux 中安装php的lua扩展

    安装lua扩展的前提是lua已经安装好,如果没有安装,参照 1.http://pecl.php.net/package/lua 下载lua扩展 或者Linux下直接输入 wget http://pec ...

  3. Python - 实现文件名自动更改,避免同名文件被覆盖的两个解决方法

    [原创]转载请注明作者Johnthegreat和本文链接. 在一些不多的数据下载和生成的时候,我们倾向于直接保存为文件,当我们修改某些参数后再一次运行时,之前运行时生成的文件就被覆盖了.为了解决这个问 ...

  4. Scrapy学习-(1)

    Scrapy框架介绍 Scrapy是一个非常优秀的爬虫框架,基于python. 只需要在cmd运行pip install scrapy就可以自动安装.用scrapy-h检验是否成功安装 Scrapy部 ...

  5. Golang Web入门(3):如何优雅的设计中间件

    摘要 在上一篇文章中,我们已经可以实现一个性能较高,且支持RESTful风格的路由了.但是,在Web应用的开发中,我们还需要一些可以被扩展的功能. 因此,在设计框架的过程中,应该留出可以扩展的空间,比 ...

  6. C# WCF的通信模式

    wcf 通信模式一般分为三种; 1,请求/响应模式 2,单工模式 3,双工模式 一,请求/响应模式 请求/响应通信是指客户端向服务端发送消息后,服务端会向客户端发送响应.这也意味着在接收到服务的响应以 ...

  7. Pytorch实现的语义分割器

    使用Detectron预训练权重输出 *e2e_mask_rcnn-R-101-FPN_2x* 的示例 从Detectron输出的相关示例 使用Detectron预训练权重输出 *e2e_keypoi ...

  8. ES6的 Iterator 遍历器到底是什么?

    这节课要讲的是ES6中的Iterator. for...of为啥不遍历Object对象 第十三节我们讲了简单又实用的for...of,我们可以使用它来遍历数组,字符串,Set和Map结构,但是有没有发 ...

  9. netcore 下的policy授权自定义返回结果

    目前一直在用policy做权限校验,但是好像组里需要将返回结果统一,之前用的都是直接继承AuthorizationHandler然后调用context.Fail(),但是这样会导致没办法自定义返回结果 ...

  10. 作业十一——LL(1)文法的判断,递归下降分析程序

    作业十一——LL(1)文法的判断,递归下降分析程序 判断是否为LL(1)文法 选取有多个产生式的求select,只有一条产生式的无需求select 同一个非终结符之间求交集,全部判断为空后则为LL(1 ...