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. 阿里面试官让我实现一个线程安全并且可以设置过期时间的LRU缓存,我蒙了!

    目录 1. LRU 缓存介绍 2. ConcurrentLinkedQueue简单介绍 3. ReadWriteLock简单介绍 4.ScheduledExecutorService 简单介绍 5. ...

  2. 解决cvc-complex-type.2.4.a: Invalid content was found starting with element

    今天用myeclipse导入 一个项目出现后出现cvc-complex-type.2.4.a: Invalid content was found starting with element 'inf ...

  3. php用户量剧增导致cpu100%解决办法

    在php扩展里边开启opcache扩展,此扩展是解析php的缓存机制,每次解析都要消耗cpu,所以有大量的fpm进程去占用cpu,开启此扩展之后cpu就瞬间下来了,只解析第一次,往后的都使用缓存.很好 ...

  4. hash算法解决冲突的方案

    1, 开放定址法: 所谓的开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入 公式为:fi(key) = (f(key)+di) MOD m ...

  5. Java初学者最近三次作业的心得体会

    作为一个初学者,简单的谈一下自己的作业心得体会.如果你是完全没有接触过Java的学习,本篇博文可能会有些收获,如果你已经学习Java有一段时间了,那么可以放弃这篇文章了,因为这篇文章讲解的是基本的东西 ...

  6. 关于bash shell的理解

    Bash Shell 基本特性 1.命令选项参数的补全 补全选项,需要安装 bash-completion yum install -y bash-completion 2.快捷键 Ctrl + a ...

  7. 基于HTML Canvas实现“指纹识别”技术

    https://browserleaks.com/canvas 说明所谓指纹识别是指为每个设备标识唯一标识符(以下简称UUID).诸如移动原生的APP都可以通过调用相关设备API来获取相应的UUID. ...

  8. GCD-Euclidean Algorithm

    求解两个正整数的最大公约数(Greatest Common Devisor),可以采用循环进行遍历,不过效率很低.所以引入欧几里得算法(Euclid's algorithm). 欧几里得算法基于GCD ...

  9. P4768 [NOI2018]归程(kruskal 重构树)

    洛谷P4768 [NOI2018]归程 LOJ#2718.「NOI2018」归程 用到 kruskal 重构树,所以先说这是个啥 显然,这和 kruskal 算法有关系 (废话 这个重构树是一个有点权 ...

  10. cms 环境搭建

    一 :安装 JDK: 1.在根目录下新建目录 JDK 2.通过 xftp 导入 jdk 压缩包到 JDK 目录中 jdk-8u144-linux-x64.tar.gz,解压 tar -zxvf jdk ...