题解 | 24点运算
24点运算
https://www.nowcoder.com/practice/7e124483271e4c979a82eb2956544f9d
from types import CodeType a = input().split() if "joker" in a or "JOKER" in a: print("ERROR") else: for i in range(4): if a[i] == "J": a[i] = '11' elif a[i] == "Q": a[i] = '12' elif a[i] == "K": a[i] = '13' elif a[i] == "A": a[i] = '1' a[0]+='a' a[1]+='b' a[2]+='c' a[3]+='d' opts="+-*/" for i in a: for o1 in opts: for j in a: if i==j: continue for o2 in opts: for k in a: if k==j or k==i: continue for o3 in opts: for h in a: if h==i or h==j or h==k: continue n1=i[0:-1] n2=j[0:-1] n3=k[0:-1] n4=h[0:-1] exp='(('+n1+o1+n2+')'+o2+n3+')'+o3+n4 if -1e-6< eval(exp)-24 <1e-6: if n1=="11": n1='J' elif n1=='12': n1='Q' elif n1=='13': n1='K' elif n1=='1': n1='A' if n2=="11": n2='J' elif n2=='12': n2='Q' elif n2=='13': n2='K' elif n2=='1': n2='A' if n3=="11": n3='J' elif n3=='12': n3='Q' elif n3=='13': n3='K' elif n3=='1': n3='A' if n4=="11": n4='J' elif n4=='12': n4='Q' elif n4=='13': n4='K' elif n4=='1': n4='A' print(n1+o1+n2+o2+n3+o3+n4) exit() print("NONE")