CCF 201903-2 二十四点 (疑问)

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')
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值