小学四则运算编程实践

1.代码展示

import sys
import random
import fractions
#for i in range(0,len(sys.argv)):
    #print(i,sys.argv[i])
#a = open('C:\\Users\\徐铭泽\\Desktop\\ANSWER.txt', 'w')
#a = open('C:\\Users\\徐铭泽\\Desktop\\ANSWER.txt')

K = int(sys.argv[2])
a5= 1 
c = int(sys.argv[4])
Q = []
jianyan = set()
jianyan1 = 0
ANSWER1 = []
while K >= (a5):
    #a = open('C:\\Users\\徐铭泽\\Desktop\\ANSWER.txt')
    #生成四则运算题目    
    d = str()
    yun_suan_fu = ['+','-']
    for i1 in range(4):
        a = random.choice(yun_suan_fu)
        b = str(random.randrange(1,c)) 
        d = d+b+a
    
   

    f = str()
    f1 = str()
    F = int()
    #出现真分数
    for i2 in range(2):

        a1 = random.randrange(1,c)
        a2 = random.randrange(1,c)
        F += fractions.Fraction(min(a1,a2),max(a1,a2))
        a3 = str(max(a1,a2))
        a4 = str(min(a1,a2))
        #f += '+' + a4+'/'+a3
        f1 += '+' +a4+'÷'+a3
    #d0 = d[0:7] + f
    d1 = d[0:7] + f1
    F1 = list(str(F))
    if ('/') in F1:
        F2 = F1.index('/')
        Y = F1[0:F2]
        D = F1[(F2+1):(len(F1))]
        Y = int(''.join(Y))
        D = int(''.join(D))
        if Y > D :
            shang = Y // D
            yu = Y % D
        else:
            shang = 0
            yu = Y



    a7 = str(random.randrange(1,c))
    a8 = str(random.randrange(1,c))
    e = '+' + a7 +'*'+ a8
    e1 = '+' + a7 +'x'+ a8
    e0 = d[0:7] + e
    e2 = d1 + e1


    A = str(eval(e0) + shang) + '\'' + ('%s' %yu) + '/' + ('%s' %D)
    if eval(e0) > 0:
        #a = open('C:\\Users\\徐铭泽\\Desktop\\QUESTION.txt','w')
        a5 = a5 + 1
        a6 = a5 - 1
        #print("第 %s 题:" %a6,e0,"= ? ","答案是:",A)
        b1 = ('第 %s 题:  ' %a6) + ('%s' %e2) + ' = ' + '\n'
        b2 = ('第 %s 题的' %a6) + ('答案是: %s' %A) + '\n'
        Q.append(b1)
        ANSWER1.append(b2)
        #print(b1)
        #a.write(b1)
        if A in jianyan:
            jianyan1 = jianyan1 + 1
            print(A)
        jianyan.add(A)
    

#a.close()
#print(Q)
Q = ''.join(Q)
#print(Q)
print(jianyan)
print(jianyan1)
ANSWER1 = ''.
2.代码实现效果
 
posted @ 2020-11-29 22:02  20201210徐铭泽  阅读(77)  评论(0编辑  收藏  举报