【Python】用Python来训练数学计算?
【Python】用Python来训练数学计算?
数学计算很重要,今天我们就来实现用Python结合random库来进行数学计算的练习。
那么我们要怎么做到呢?一起来看代码
# By Forty / Three % Two import random right = 0 # 正确回答数 kacha = 0 # 错误回答数 zongshu = 0 # 总回答数 print("说“0”可以退出并且得到统计信息哦!") while True: try: fuhao = ["+","-","*","/"] # 运算符号 a = round(random.uniform(1,1000)) # 生成随机数 b = round(random.uniform(1,1000)) # 生成随机数 c = random.choice(fuhao) # 随机选择符号 if c == "+": # 如果运算符号是+ temp = input("a = {},b = {} a+b=?".format(a,b)) # 获取回答 temp = int(temp) zongshu += 1 if temp == a + b: print("答对了!") right += 1 elif temp == 0: print("您一共计算了{}题,其中正确{}题,错误{}题".format(zongshu,right,kacha)) break else: print("答错了!") kacha += 1 if c == "-": temp = input("a = {},b = {} a-b=?".format(a,b)) temp = int(temp) zongshu += 1 if temp == a - b: print("答对了!") right += 1 elif temp == 0: print("您一共计算了{}题,其中正确{}题,错误{}题".format(zongshu,right,kacha)) break else: print("答错了!") kacha += 1 if c == "*": temp = input("a = {},b = {} a*b=?".format(a,b)) temp = int(temp) zongshu += 1 if temp == a * b: print("答对了!") right += 1 elif temp == 0: print("您一共计算了{}题,其中正确{}题,错误{}题".format(zongshu,right,kacha)) break else: print("答错了!") kacha += 1 if c == "/": temp = input("a = {},b = {} a//b=?".format(a,b)) # 获取商 temp = int(temp) temp2 = input("a%b=?") # 获取余数 temp2 = int(temp) if temp == a // b and temp2 == a % b: print("答对了!") right += 1 elif temp == 0: print("您一共计算了{}题,其中正确{}题,错误{}题".format(zongshu,right,kacha)) break else: print("答错了!") kacha += 1 except: print("请输入合法的答案")
那么里面其实还是有很多知识点的,比如随机生成数字、try…except,if语句,input等。那么我们就一点一点的说
首先,我们看该如何生成随机数
这里a指的是加数(被减数/因数/被除数),b也一样,红框框起来的是生成随机数的代码。使用round函数,在里面写上random.uniform函数。round函数里有2个参数,第一个是uniform函数,第二个是生成的随机数有几位小数。而我们不需要小数,就可以不写。在random.uniform函数里的两个参数是由?到?的随机数。我们需要三位数,那么就写1,1000。
(有些变量的意思我就不写了,大家可以看看代码里的注释)
接下来,我们要使用random的choise方法随机选择运算符号**(方法是在括号里放上列表名)**
那么到现在,我们的准备工作已经完成啦,一起来看看代码的判断部分吧!
PS:别忘了加上while循环和try哦!
对了,还有try…except的用法:
try后面是要运行的内容,except后面是如果报错了,该怎么处理
下面的就很简单了。我们先看判断运算符号
(由于有四种运算符号,所以这里写了四个if,如果有更简便的方法欢迎指导)
先用input获取输入,并转化为int类型
然后进行判断,这里要说的是temp == 0
0是退出,所以我们要加上break退出循环,并且打印结算信息。至于format的用法可以自行了解。
其他的就是大同小异,改一下运算符号就行了。
特别要讲的就是除法
通过我的注释可以看到,一个是商,一个是余数。我们也要再if里加上一个条件。
然后再分别判断,也是基本大同小异
这里就要讲except了
我们想,如果使用者没有输入或者输入的不是数字,程序是会报错的!所以我们要用它来捕获报错,并且打印提示信息
好了,今天的教学就到这里,关注我,和你分享有趣的小程序!┏(^0^)┛
- 点赞 2
- 收藏
- 分享
- 文章举报
- 数学之路-python计算实战(6)-numpy-ndarray
- Robot Framework ride中使用 python的math库 进行数学计算
- 数学之路-python计算实战(4)-Lempel-Ziv压缩(2)
- 简单讲解Python中的数字类型及基本的数学计算
- Python数学小实验(3)——贝叶斯规则(Bayes’ rule)案例计算
- 数学之路-python计算实战(6)-numpy-ndarray
- 利用python对中文文本数据进行LDA训练、计算概率距离
- 数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)
- 数学思想方法-python计算战(8)-机器视觉-二值化
- python冒泡排序与常用数学计算
- Python基础05 for,if 语句 【例1:数学计算】
- 数学之路-python计算实战(11)-机器视觉-图像增强
- Python十进制数学计算模块decimal
- 笨方法学python--数字和数学计算
- python用于数学计算的工具介绍:scipy和numpy
- 笨办法学Python-----习题3_数字和数学计算
- 数学之路-python计算实战(19)-机器视觉-卷积滤波
- python中的数字和数学计算
- 数学之路-分布式计算-hadoop、python与R(3)
- 数学之路-python计算实战(20)-机器视觉-拉普拉斯算子卷积滤波