#coding=utf-8 def isnumber1to13(inputnum=0): if inputnum>=1 and inputnum<=13: return True else: return False def inputnumber(): global n1,n2,n3,n4 n1=raw_input('input number1') n2=raw_input('input number2') n3=raw_input('input number3') n4=raw_input('input number4') if (isnumber1to13(int(n1)) and isnumber1to13(int(n2)) and isnumber1to13(int(n3)) and isnumber1to13(int(n4))): return True else: print 'input error' return False def jisuan(): try: fazhi=0.00001 result=24.0 for counter1 in ['+','-','*','/']: for counter2 in ['+','-','*','/']: for counter3 in ['+','-','*','/']: if eval('('+a+counter1+b+')'+counter2+c+counter3+d)==result: print '('+a+counter1+b+')'+counter2+c+counter3+d," ",eval('('+a+counter1+b+')'+counter2+c+counter3+d) print "/n" if eval(a+counter1+'('+b+counter2+c+')'+counter3+d)==result: print a+counter1+'('+b+counter2+c+')'+counter3+d," ",eval(a+counter1+'('+b+counter2+c+')'+counter3+d) print "/n" if eval(a+counter1+b+counter2+'('+c+counter3+d+')')==result: print a+counter1+b+counter2+'('+c+counter3+d+')'," ",eval(a+counter1+b+counter2+'('+c+counter3+d+')') print "/n" if eval('('+a+counter1+b+counter2+c+')'+counter3+d)==result: print '('+a+counter1+b+counter2+c+')'+counter3+d," ",eval('('+a+counter1+b+counter2+c+')'+counter3+d) print "/n" if eval(a+counter1+'('+b+counter2+c+counter3+d+')')==result: print a+counter1+'('+b+counter2+c+counter3+d+')'," ",eval(a+counter1+'('+b+counter2+c+counter3+d+')') print "/n" if eval('('+a+counter1+b+')'+counter2+'('+c+counter3+d+')')==result: print '('+a+counter1+b+')'+counter2+'('+c+counter3+d+')'," ",eval('('+a+counter1+b+')'+counter2+'('+c+counter3+d+')') print "/n" if eval('('+'('+a+counter1+b+')'+counter2+c+')'+counter3+d)==result: print '('+'('+a+counter1+b+')'+counter2+c+')'+counter3+d," ",eval('('+'('+a+counter1+b+')'+counter2+c+')'+counter3+d) print "/n" if eval('('+a+counter1+'('+b+counter2+c+')'+')'+counter3+d)==result: print '('+a+counter1+'('+b+counter2+c+')'+')'+counter3+d," ",eval('('+a+counter1+'('+b+counter2+c+')'+')'+counter3+d) print "/n" if eval(a+counter1+'('+'('+b+counter2+c+')'+counter3+d+')')==result: print a+counter1+'('+'('+b+counter2+c+')'+counter3+d+')'," ",eval(a+counter1+'('+'('+b+counter2+c+')'+counter3+d+')') print "/n" if eval(a+counter1+'('+b+counter2+'('+c+counter3+d+')'+')')==result: print a+counter1+'('+b+counter2+'('+c+counter3+d+')'+')'," ",eval(a+counter1+'('+b+counter2+'('+c+counter3+d+')'+')') print "/n" except: ZeroDivisionError def suan24(): global a,b,c,d a=str(float(n1));b=str(float(n2));c=str(float(n3));d=str(float(n4)); jisuan() a=str(float(n1));b=str(float(n2));c=str(float(n4));d=str(float(n3)); jisuan() a=str(float(n1));b=str(float(n3));c=str(float(n2));d=str(float(n4)); jisuan() a=str(float(n1));b=str(float(n3));c=str(float(n4));d=str(float(n2)); jisuan() a=str(float(n1));b=str(float(n4));c=str(float(n2));d=str(float(n3)); jisuan() a=str(float(n1));b=str(float(n4));c=str(float(n3));d=str(float(n2)); jisuan() a=str(float(n2));b=str(float(n1));c=str(float(n3));d=str(float(n4)); jisuan() a=str(float(n2));b=str(float(n1));c=str(float(n4));d=str(float(n3)); jisuan() a=str(float(n2));b=str(float(n3));c=str(float(n1));d=str(float(n4)); jisuan() a=str(float(n2));b=str(float(n3));c=str(float(n4));d=str(float(n1)); jisuan() a=str(float(n2));b=str(float(n4));c=str(float(n1));d=str(float(n3)); jisuan() a=str(float(n2));b=str(float(n4));c=str(float(n3));d=str(float(n1)); jisuan() a=str(float(n3));b=str(float(n1));c=str(float(n2));d=str(float(n4)); jisuan() a=str(float(n3));b=str(float(n1));c=str(float(n4));d=str(float(n2)); jisuan() a=str(float(n3));b=str(float(n2));c=str(float(n1));d=str(float(n4)); jisuan() a=str(float(n3));b=str(float(n2));c=str(float(n4));d=str(float(n1)); jisuan() a=str(float(n3));b=str(float(n4));c=str(float(n1));d=str(float(n2)); jisuan() a=str(float(n3));b=str(float(n4));c=str(float(n2));d=str(float(n1)); jisuan() a=str(float(n4));b=str(float(n1));c=str(float(n2));d=str(float(n3)); jisuan() a=str(float(n4));b=str(float(n1));c=str(float(n3));d=str(float(n2)); jisuan() a=str(float(n4));b=str(float(n2));c=str(float(n1));d=str(float(n3)); jisuan() a=str(float(n4));b=str(float(n2));c=str(float(n3));d=str(float(n1)); jisuan() a=str(float(n4));b=str(float(n3));c=str(float(n1));d=str(float(n2)); jisuan() a=str(float(n4));b=str(float(n3));c=str(float(n2));d=str(float(n1)); jisuan() def main(): if inputnumber(): suan24() while True: main()