这个作业属于哪个课程 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19
这个作业要求在哪里 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11376
这个作业的目标 <编写代码能够完成作业要求并且记录完成时间及各个事项>
学号 <3190704141>

`import random
def prt(n1,n2,n3,n4,f):#输出函数
ope = ['+', '-', '×', '/']#operator 运算符

if n1%n2 ==0 and n3%n4 != 0:

    print(str(n1//n2), ope[f], str(n3//GCD(n3,n4))+'/'+str(n4//GCD(n3,n4)), ' = ', end='')

elif n1%n2 != 0 and n3%n4 == 0:

    print(str(n1//GCD(n1,n2))+'/'+str(n2//GCD(n1,n2)), ope[f], str(n3//n4), ' = ', end='')

elif n1%n2 ==0 and n3%n4 == 0:

    print(str(n1//n2), ope[f], str(n3//n4), ' = ', end='')

else:

    print(str(n1//GCD(n1,n2))+'/'+str(n2//GCD(n1,n2)), ope[f], str(n3//GCD(n3,n4))+'/'+str(n4//GCD(n3,n4)), ' = ', end='')

def GCD(x,y):#求最大公因数
if x > y:
smaller = y
else:
smaller = x
value = 1
for i in range(1,smaller + 1):
if((x % i == 0) and (y % i == 0)):
value = i

    return value 

def Iniszys(f):#自主选择四则运算函数

n1 = random.randint(1, 10)

n2 = random.randint(1, 10)

if n1>=n2 and n1 % n2 != 0:

    n1,n2=min(n1,n2),max(n1,n2)

n3 = random.randint(1, 10)

n4 = random.randint(1, 10)

if n3>=n4 and n3 % n4 != 0:

    n3,n4=min(n3,n4),max(n3,n4)

result = 0

if f == 0:#加法

    if (n1*n4+n2*n3)%(n2*n4) == 0:

        result = (n1*n4+n2*n3)//(n2*n4)#结果为整数则正常显示

    else: 
        result  = str((n1*n4+n2*n3)//GCD(n1*n4+n2*n3,n2*n4)) +'/'+str((n2*n4)//GCD(n1*n4+n2*n3,n2*n4))

    prt(n1,n2,n3,n4,f)

elif f == 1:#减法,防止输出负数

    if (n1*n4-n2*n3)%(n2*n4) == 0:

        result = abs(n1*n4-n2*n3)//(n2*n4)#结果为整数则正常显示
    else:

        result  = str(abs(n1*n4-n2*n3)//GCD(n1*n4-n2*n3,n2*n4)) +'/'+str((n2*n4)//GCD(n1*n4-n2*n3,n2*n4))

    prt(n1,n2,n3,n4,f)

elif f== 2:#乘法

    if (n1*n3)%(n2*n4) == 0:

        result = abs(n1*n3)//(n2*n4)#结果为整数则正常显示
    else:

        result  = str((n1*n3)//GCD(n1*n3,n2*n4))+'/'+str((n2*n4)//GCD(n1*n3,n2*n4))

    prt(n1,n2,n3,n4,f)

elif f == 3:#除法

    if (n1*n4)%(n2*n3) == 0:

        result = abs(n1*n4)//(n2*n3)#结果为整数则正常显示

    else:

        result  = str((n1*n4)//GCD(n1*n4,n2*n3))+'/'+str((n2*n3)//GCD(n1*n4,n2*n3))

    prt(n1,n2,n3,n4,f)

return result

def Autoszys():# 自动生成四则运算函数

f= random.randint(0, 3)

n1 = random.randint(1, 10)

n2 = random.randint(1, 10)

if n1>=n2 and n1 % n2 != 0:

    n1,n2=min(n1,n2),max(n1,n2)

n3 = random.randint(1, 10)

n4 = random.randint(1, 10)

if n3>=n4 and n3 % n4 != 0:

    n3,n4=min(n3,n4),max(n3,n4)


result = 0

if f == 0:#加法

    if (n1*n4+n2*n3)%(n2*n4) == 0:

        result = (n1*n4+n2*n3)//(n2*n4)#结果为整数则正常显示

    else: 
        result  = str((n1*n4+n2*n3)//GCD(n1*n4+n2*n3,n2*n4)) +'/'+str((n2*n4)//GCD(n1*n4+n2*n3,n2*n4))

    prt(n1,n2,n3,n4,f)

elif f == 1:#减法,防止输出负数

    if (n1*n4-n2*n3)%(n2*n4) == 0:

        result = abs(n1*n4-n2*n3)//(n2*n4)#结果为整数则正常显示
    else:

        result  = str(abs(n1*n4-n2*n3)//GCD(n1*n4-n2*n3,n2*n4)) +'/'+str((n2*n4)//GCD(n1*n4-n2*n3,n2*n4))

    prt(n1,n2,n3,n4,f)

elif f== 2:#乘法

    if (n1*n3)%(n2*n4) == 0:

        result = abs(n1*n3)//(n2*n4)#结果为整数则正常显示
    else:

        result  = str((n1*n3)//GCD(n1*n3,n2*n4))+'/'+str((n2*n4)//GCD(n1*n3,n2*n4))

    prt(n1,n2,n3,n4,f)

elif f == 3:#除法

    if (n1*n4)%(n2*n3) == 0:

        result = abs(n1*n4)//(n2*n3)#结果为整数则正常显示

    else:
        
        result  = str((n1*n4)//GCD(n1*n4,n2*n3))+'/'+str((n2*n3)//GCD(n1*n4,n2*n3))

    prt(n1,n2,n3,n4,f)


return result

def Ini():

print('输入所需要的题目数量:')

n=int(input())

result =[]

m=0

score=0#得分

print('请选择运算法则:')
print('0 --> + ')
print('1 --> - ')
print('2 --> * ')
print('3 --> / ')

f=int(input())
while m<=(n-1):

    print(m+1,end='. ')

    m+=1

    result  = Iniszys(f)

    s= input()

    b = 1#判断是否全对

    if s== result :

        print('正确')

        score=score+(100//n)

    else:

        print('错误,正确答案是:', result )
        b=0
if b == 1:
    score == 100        
print('你的得分是:',score)              
print('测试结束')

def Auto():

print('输入所需要的题目数量:')

n=int(input())

result =[]

m=0

score=0#得分

b = 1#判断是否全对

while m<=(n-1):

    print(m+1,end='. ')

    m+=1

    result  = Autoszys()

    s= input()

    if s== result :

        print('正确')

        score=score+(100//n)

    else:

        print('错误,正确答案是:', result )
        b=0            
if b == 1:
    score == 100
print('你的得分是:',score)              
print('测试结束')    

print('选择想要的模式:')

print('1、自动生成')

print('2、自主选择运算符号')

n=int(input())

if n==1:#自动生成运算符

Auto()

if n==2:

Ini()`


psp表格: