Python自动生成100以内加减乘除混合运算题
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以内加减乘除混合运算题的更多相关文章
- 利用python自动生成verilog模块例化模板
一.前言 初入职场,一直忙着熟悉工作,就没什么时间更新博客.今天受“利奇马”的影响,只好宅在家中,写写技术文章.芯片设计规模日益庞大,编写脚本成了芯片开发人员必要的软技能.模块端口动不动就几十上百个, ...
- 从用python自动生成.h的头文件集合和类声明集合到用python读写文件
最近在用python自动生成c++的类.因为这些类会根据需求不同产生不同的类,所以需要用python自动生成.由于会产生大量的类,而且这些类是变化的.所以如果是在某个.h中要用include来加载这些 ...
- JS练习--自动生成100个li
点击按钮,自动生成100个li,红.黄.蓝.绿四种颜色的顺序显示出现在页面中 CSS: ;;} ul,li{list-style: none;} #ul1{position: relative;} # ...
- Python自动生成代码工具
项目中有一个需求,对一个基类而言,拥有一个比较方法和拷贝方法,某些地方需要频繁地对这两个方法进行调用.对于所有子类而言,需要重写这两个方法,并在其中维护类内一些成员变量.例如有一个变量m_iMyVal ...
- 使用python自动生成docker nginx反向代理配置
由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...
- 利用Python自动生成暴力破解的字典
Python是一款非常强大的语言.用于测试时它非常有效,因此Python越来越受到欢迎. 因此,在此次教程中我将聊一聊如何在Python中生成字典,并将它用于任何你想要的用途. 前提要求 1,Pyth ...
- python 自动生成C++代码 (代码生成器)
python 代码自动生成的方法 (代码生成器) 遇到的问题 工作中遇到这么一个事,需要写很多C++的底层数据库类,但这些类大同小异,无非是增删改查,如果人工来写代码,既费力又容易出错:而借用pyth ...
- python自动生成bean类
近期在学习python,一直在和java做对比,目前没有发现有通过字段自动生成getter setter方法,故此自己写了一个类,可以通过__init__方法传入类名和字段数组,再调用内部的方法,就可 ...
- python 自动生成model 文件 案例分析
生成方式 Python中想要自动生成 model文件可以通过 sqlacodegen这个命令来生成对应的model文件 sqlacodegen 你可以通过pip去安装: pip install sql ...
随机推荐
- Numpy学习-(2)
我学习numpy过程的记录 1. 切片和索引 (1) 两种切片方式示例: (2) 多维数组: import numpy as np a = np.array([[1,2,3],[3,4,5],[4,5 ...
- [PHP] 生成二维码(两种方法)
方法一:(调用google二维码接口,本人测试网不好,不好用!) <?php //1.封装生成二维码图片的函数(方法) /** *利用google api生成二维码图片 * $content:二 ...
- SK-learn实现k近邻算法【准确率随k值的变化】-------莺尾花种类预测
代码详解: from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split fr ...
- 测试Thread中的常用方法
package com.yhqtv.java; /* *测试Thread中的常用方法: * 1.start():启动当前线程:调用当前线程的run() * 2.run():通常需要重写Thread类的 ...
- 在php中如何实现cookie即时生效,不用刷新就可以使用
参考:https://www.jianshu.com/p/0468ef5dbf4d 今天在用php设置cookie的时候,发现cookie如果只是赋值一次的话,要手动刷新一下浏览器才能把数据及时更新, ...
- java学习(第一篇)
Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式 ...
- 关于CompletableFuture的一切,看这篇文章就够了
文章目录 CompletableFuture作为Future使用 异步执行code 组合Futures thenApply() 和 thenCompose()的区别 并行执行任务 异常处理 java中 ...
- mac OS 卸载node.js及npm
通过homebrew安装的 输入卸载命令 brew uninstall node 通过官网下载pkg安装包的 输入卸载命令 sudo rm -rf /usr/local/{bin/{node,npm} ...
- 手把手教你用Node.js爬虫爬取网站数据
个人网站 https://iiter.cn 程序员导航站 开业啦,欢迎各位观众姥爷赏脸参观,如有意见或建议希望能够不吝赐教! 开始之前请先确保自己安装了Node.js环境,还没有安装的的童鞋请自行百度 ...
- Codeforces Round #622 (Div. 2) 1313 C1
C1. Skyscrapers (easy version) time limit per test1 second memory limit per test512 megabytes inputs ...