CCF 201903-2 二十四点 (疑问)
请各位大神帮我看看,这个为啥只得了60分
问题描述
n = int(input())
def opreate_two(new_str,a,b):
answer = 0
if new_str == 'x':
answer = a*b
return answer
if new_str == '/':
answer = a//b
return answer
if new_str == '+':
answer = a+b
return answer
if new_str == '-':
answer = a-b
return answer
def opreate(astr):
op1 = astr[1]
op2 = astr[3]
op3 = astr[5]
a = int(astr[0])
b = int(astr[2])
c = int(astr[4])
d = int(astr[6])
suansu = 'x/'
if(op1 in suansu)and(op2 not in suansu)and(op3 not in suansu):
answer = opreate_two(op1,a,b)
answer = opreate_two(op2,answer,c)
answer = opreate_two(op3,answer,d)
return answer
elif(op1 not in suansu)and(op2 in suansu)and(op3 not in suansu):
answer = opreate_two(op2,b,c)
answer = opreate_two(op1,a,answer)
answer = opreate_two(op3,answer,d)
return answer
elif(op1 not in suansu)and(op2 not in suansu)and(op3 in suansu):
answer = opreate_two(op3,c,d)
answer = opreate_two(op2,b,answer)
answer = opreate_two(op1,a,answer)
return answer
elif(op1 in suansu)and(op2 in suansu)and(op3 not in suansu):
answer = opreate_two(op1,a,b)
answer = opreate_two(op2,answer,c)
answer = opreate_two(op3,answer,d)
return answer
elif(op1 not in suansu)and(op2 in suansu)and(op3 in suansu):
answer = opreate_two(op2,b,c)
answer = opreate_two(op3,answer,d)
answer = opreate_two(op1,a,answer)
return answer
elif(op1 in suansu)and(op2 not in suansu)and(op3 in suansu):
answer1 = opreate_two(op1,a,b)
answer2 = opreate_two(op3,c,d)
answer = opreate_two(op2,answer1,answer2)
return answer
else:
answer1 = opreate_two(op1,a,b)
answer2 = opreate_two(op2,answer1,c)
answer = opreate_two(op3,answer2,d)
return answer
for i in range(n):
s = input()
answer = opreate(s)
if answer == 24:
print('Yes')
else:
print('No')