您的位置:首页 > 编程语言 > Python开发

【Python】用Python来训练数学计算?

2020-03-06 16:37 1131 查看

【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
  • 收藏
  • 分享
  • 文章举报
十四除三余二 发布了1 篇原创文章 · 获赞 2 · 访问量 596 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: