对结果为100以内的数随机生成四则运算(python)
功能需求
1.能生成指定个数的算式
2.能选择是否输出负数
3.每次生成一个算式,可以进行输入,如果输入的结果与答案相同这输出正确,如果不相同,则输出错误,并且再去输出算式和结果
4.随机生成+,-,*,/ 实现随机出现1~4个运算符
5.计算的结果小于100
import random import numpy as np print('输入所需要的题目数量') #这里设置要多少个算式 n = int(input()) j=0 print('是否输出负数:1是,2不是') #这里设置是否要输出负数 f=input() f1=int(f) while j<=n: fhgs = np.random.randint(4, size=4) #生成随机数组,作为运算符的下标,实现随机产生运算符 shu = np.random.randint(1, high=100, size=5) #生成随机数组,作为运算数 zfs = random.randint(1,4) #生成随机数,实现输出不同个数运算符的算式 ysf = ['+', '-', '*', '/'] #定义号 四个运算符 if zfs ==1: #按照随机数,实现输出不同个数运算符的算式 str1 = str(shu[0]) + ysf[fhgs[0]] + str(shu[1]) elif zfs ==2: str1 = str(shu[0]) + ysf[fhgs[0]] + str(shu[1]) + ysf[fhgs[1]] + str(shu[2]) elif zfs ==3: str1 = str(shu[0]) + ysf[fhgs[0]] + str(shu[1]) + ysf[fhgs[1]] + str(shu[2])+ ysf[fhgs[2]] + str(shu[3]) elif zfs ==4: str1 = str(shu[0]) + ysf[fhgs[0]] + str(shu[1]) + ysf[fhgs[1]] + str(shu[2])+ ysf[fhgs[2]] + str(shu[3])+ ysf[fhgs[3]] + str(shu[4]) result =eval(str1) #计算结果 if f1==2: #正数输出 if result in range (0,100): #确保结果范围 j=j+1 #计数,实现指定输出多少个算式 print(str1) x=input() y=int(x) if y==result: #验证计算的答案是否正确 print('正确') print('下一题') else: print('错误') #输出正确答案 print(str1 + '=' + "%.2f" % result + ' ') print('下一题') elif f1==1: #负数输出 if result <=100: j = j + 1 print(str1) x = input() y = int(x) if y == result: print('正确') else: print('错误') print(str1 + '=' + "%.2f" % result + ' ') if j<n: print('下一题')
运行结果:

 

                    
                
                
            
        
浙公网安备 33010602011771号