Python⽣成四则运算算式
问题描述:
⼩学⽼师要每周给同学出300道四则运算练习题。
要求:
1.两个运算符;
2.100以内的数字;
3.需要写答案,并且保证答案在0...100之间;
解题思路:
1.使⽤python的numpy包,做到随机数均匀分布。
2.使⽤python⾃带eval()⽅法计算四则运算表达式的值,简化编程。
3.第⼀次随机⽣成含两个运算符的算式⽆结果要求。第⼆次随机⽣成计算结果在100以内的算式,并且算式结果保留两位⼩数。python代码:
import time
import numpy as np
sgn=['+','-','×',' ']
sgn2=['+','-','*','/']
print('开始⽣成含两个运算符的四则运算式:')
for i in range(0,300):
strq=str(np.random.randint(1,101))+sgn[np.random.randint(0,4)]+str(np.random.randint(1,101))+sgn[
np.random.randint(0,4)]+str(np.random.randint(1,101))+'='#随机⽣成含两个运算符的四则运算式并保存在strq中
if i%2==0:
print(strq+'' ,end="")
else:
print(strq)
time.sleep(10)
print("开始⽣成含两个运算符且结果在100以内的的四则运算式:")
num=0
while True:
sgn_lindex=np.random.randint(0, 4)#第⼀个运算符下标
sgn_rindex=np.random.randint(0,4)#第⼆个运算符下标
python生成1到100之间随机数a=np.random.randint(1,101)
b=np.random.randint(1,101)
c=np.random.randint(1,101)#三个运算项下标
str1=str(a)+sgn2[sgn_lindex]+str(b)+sgn2[sgn_rindex]+str(c) #⽣成便于表达式计算的字符串
str2=str(a)+sgn[sgn_lindex]+str(b)+sgn[sgn_rindex]+str(c) #⽣成数学表达字符串
res=eval(str1)#计算表达式
if res<=100 and res>=0:#判断算式结果是否⼩于100⼤于等于0
if num % 2 == 0:
print(str2+'='+"%.2f" % res+'',end="")
else:
print(str2+'='+"%.2f" % res)
num+=1
if num==300:
break
部分结果:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论