这个作业属于哪个课程 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 (n1n4+n2n3)%(n2*n4) == 0:

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

else:
result = str((n1n4+n2n3)//GCD(n1n4+n2n3,n2n4)) +'/'+str((n2n4)//GCD(n1n4+n2n3,n2*n4))

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

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

if (n1n4-n2n3)%(n2*n4) == 0:

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

result = str(abs(n1n4-n2n3)//GCD(n1n4-n2n3,n2n4)) +'/'+str((n2n4)//GCD(n1n4-n2n3,n2*n4))

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

elif f== 2:#乘法

if (n1n3)%(n2n4) == 0:

result = abs(n1n3)//(n2n4)#结果为整数则正常显示
else:

result = str((n1n3)//GCD(n1n3,n2n4))+'/'+str((n2n4)//GCD(n1n3,n2n4))

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

elif f == 3:#除法

if (n1n4)%(n2n3) == 0:

result = abs(n1n4)//(n2n3)#结果为整数则正常显示

else:

result = str((n1n4)//GCD(n1n4,n2n3))+'/'+str((n2n3)//GCD(n1n4,n2n3))

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 (n1n4+n2n3)%(n2*n4) == 0:

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

else:
result = str((n1n4+n2n3)//GCD(n1n4+n2n3,n2n4)) +'/'+str((n2n4)//GCD(n1n4+n2n3,n2*n4))

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

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

if (n1n4-n2n3)%(n2*n4) == 0:

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

result = str(abs(n1n4-n2n3)//GCD(n1n4-n2n3,n2n4)) +'/'+str((n2n4)//GCD(n1n4-n2n3,n2*n4))

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

elif f== 2:#乘法

if (n1n3)%(n2n4) == 0:

result = abs(n1n3)//(n2n4)#结果为整数则正常显示
else:

result = str((n1n3)//GCD(n1n3,n2n4))+'/'+str((n2n4)//GCD(n1n3,n2n4))

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

elif f == 3:#除法

if (n1n4)%(n2n3) == 0:

result = abs(n1n4)//(n2n3)#结果为整数则正常显示

else:

result = str((n1n4)//GCD(n1n4,n2n3))+'/'+str((n2n3)//GCD(n1n4,n2n3))

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表格: